6 أفضل أدوات إدارة الشبكة التي تتعقب الأداء
سوق برامج إدارة الشبكة مزدحم للغاية. اختصر بحثك باتباع توصياتنا لأفضل أدوات إدارة الشبكة.
إذا كنت مستخدمًا قويًا لنظام التشغيل Windows ، فمن المحتمل أنك تعرف وتفهم كيف يمكن أن يكون لأداء العمليات المختلفة على جهاز الكمبيوتر الخاص بك أكثر من نهج واحد وأن تطبيقات واجهة المستخدم الرسومية المتخصصة في كثير من الأحيان أكثر تقييدًا (وأقل إرضاءً ، لنكن صادقين) من إدخال الأوامر في سطر أوامر يدويًا. يوجد هذا الشعور بالرضا عندما ترى جدار النص هذا ينفتح أمامك ، وإذا لم تكن النتيجة خطأ ، فإنها تجعل الأمر يستحق العناء.
على أجهزة الكمبيوتر التي تعمل بنظام Windows ، هناك طريقتان فقط يمكنك من خلالهما تحقيق ذلك: من خلال CMD أو PowerShell. على الرغم من أن CMD أكثر شيوعًا من PowerShell ، إلا أنه أقل قوة أيضًا ، نظرًا لأن نظيره يسمح لك بإجراء عدد كبير من العمليات ، بما في ذلك العمليات التي يمكنك تشغيلها من خلال CMD. يمكنك القول أن PowerShell يجمع بين قوة CMD القديمة وقدرات البرمجة النصية وإمكانيات cmdlet ، مما يمنحك عددًا كبيرًا من الاحتمالات فيما يتعلق بالعمليات التي يمكنك إجراؤها باستخدامه.
ومع ذلك ، فإن العدد الهائل من العمليات الممكنة التي يمكنك إجراؤها باستخدام PowerShell يمكن أن يكون مخيفًا للغاية حتى بالنسبة للمستخدمين المتمرسين ، ناهيك عن المستخدمين الذين لم يسمعوا من قبل عن CMD (ناهيك عن PowerShell) من قبل. لا داعي للقلق ، على الرغم من ذلك ، سنحاول تعليمك بعض الحيل السهلة التي يمكنك تنفيذها باستخدام PowerShell وربما حتى حفظها على المدى الطويل. على الرغم من أن هذه "الدورة التدريبية المكثفة" الخاصة بنا لن تكون بمثابة دليل شامل لبرنامج PowerShell ، إلا أنه من المأمول أن تساعدك في العثور على طريقك حول PowerShell من خلال إعطائك بعض المؤشرات وشرح مجموعة من الأوامر. إذا كنت جاهزًا ، فلنبدأ.
ما هو بوويرشيل؟
كما ذكرنا بإيجاز أعلاه ، يعد PowerShell أداة قوية يمكنك استخدامها لمجموعة كبيرة من العمليات. أكثر من ذلك ، يعد PowerShell حلاً لأتمتة المهام يشتمل على العديد من الأدوات القوية الموجودة تحت غطاء المحرك ، بما في ذلك على سبيل المثال لا الحصر غلاف سطر الأوامر (مثل CMD) ولغة البرمجة النصية بالإضافة إلى إطار عمل إدارة التكوين.
على عكس الأصداف الأخرى التي يمكنها قبول النص وإعادته فقط ، يمكن لـ PowerShell أيضًا قبول كائنات .NET وإرجاعها بفضل المقدار الرائع من الميزات التي تتضمنها. فيما يلي بعض أهم ميزات PowerShell المتعلقة بالهيكل:
ومع ذلك ، هذا فقط خدش غيض من فيض منذ ذلك الحين ، كما ذكرنا من قبل ، PowerShell أكثر من مجرد قذيفة ؛ يمكنك استخدامه كلغة برمجة نصية قوية لأتمتة عمليات إدارة النظام ، ولكن أيضًا إذا كنت ترغب في إنشاء حلول وتحليلها واختبارها ونشرها في بيئات مختلفة.
نظرًا لأن PowerShell يعتمد على .NET CLR (.NET Common Language Runtime) ، فمن السهل معرفة سبب كون جميع المدخلات والمخرجات التي يعمل PowerShell معها كائنات .NET. بالإضافة إلى ذلك ، ليست هناك حاجة على الإطلاق لتحليل إخراج النص فقط حتى يتمكن PowerShell من استخراج المعلومات منه. من بين ميزات البرمجة النصية لـ PowerShell ، قد تجد ما يلي:
إذا كنت مهتمًا أكثر بإدارة وتكوين البنية التحتية لمؤسستك من خلال التعليمات البرمجية ، فسيسعدك معرفة أن PowerShell يوفر لك أيضًا هذه الإمكانية من خلال إطار عمل إدارة تكوين الحالة المرغوبة (DSC). من بين العمليات التي يمكنك إجراؤها بسهولة من خلال استخدام DSC الخاص بـ PowerShell ، نذكرك بما يلي:
يحتوي PowerShell على سطر أوامر خاص يأتي مع لغة برمجة خاصة تشبه إلى حد ما لغة Perl. لاحظ أنه في البداية ، تم تطوير PowerShell لمساعدة المستخدمين على إدارة الكائنات الموجودة على أجهزة الكمبيوتر الخاصة بهم ، ولكن كما يمكنك أن تتخيل ، فقد قطع شوطًا طويلاً ويستخدم الآن في وظائف أكثر شمولاً وتعقيدًا.
على سبيل المثال ، يمكنك الاستفادة من بيئة العمل الواسعة في PowerShell ليس فقط لأداء عمليات إدارة النظام المختلفة ولكن أيضًا لأتمتة هذه العمليات حتى لا تضطر إلى الانخراط في مهام مملة ومتكررة بين الحين والآخر. من المهم أيضًا الإشارة إلى أنه يمكنك الوصول إلى عدد كبير من الموارد من خلال برنامج واحد فقط (مثل PowerShell) ، بما في ذلك ، على سبيل المثال لا الحصر:
في الوقت الحاضر ، أحد أكثر أغراض PowerShell شيوعًا هو مساعدة المستخدمين النهائيين على أتمتة مهام إدارة النظام ، وبالتالي مساعدتهم على تجنب الانخراط في سلسلة من العمليات المملة والمتكررة. لقد ثبت أن القضاء على العامل البشري من الإجراءات المتكررة يزيد من الكفاءة ويقلل من الأخطاء البشرية لأسباب مختلفة ، لذلك فهو حقًا مكسب للجميع.
يمكنك استخدام PowerShell لإصدار أوامر بسيطة أو أكثر تعقيدًا ، ولكن هذا البرنامج يمكن أن يساعدك أيضًا في إنشاء برامج نصية بناءً على تلك الأوامر ، والتي سيتم تشغيلها تلقائيًا بواسطة PowerShell. علاوة على ذلك ، هناك قدر كبير من الأوامر التي يمكنك تخصيصها وإصدارها بعد ذلك تسمى أوامر cmdlets.
من الجدير بالذكر أن PowerShell متعدد المنصات ومفتوح المصدر ، مما يعني أنه يمكنك أيضًا استخدامه على أنظمة أخرى مثل Mac أو Linux محليًا ، دون اللجوء إلى الحيل وأدوات تحسين التوافق مثل Wine أو Boot Camp.
قائمة أوامر PowerShell الأساسية
نحن نتفهم أن PowerShell قد يشعر بالخوف بعض الشيء ، خاصة الآن بعد أن اكتشفت أنه أكثر من مجرد موجه أوامر آخر على جهاز الكمبيوتر الخاص بك ، وهو يشمل في الواقع ميزات CMD ، ولكن أيضًا لغة برمجة محددة ونصوص متنوعة يمكنك استخدامها لأتمتة عمليات إدارة النظام.
ومع ذلك ، إذا كنت تشعر بالإصرار على إتقان PowerShell وكل ما تقدمه ، فنحن نقترح بشدة أن تبدأ بأهم ميزاته الأساسية. بهذه الطريقة لن تضطر إلى التراجع عن شهور من التقدم عندما اكتشفت أنك استخدمت الوظيفة الخاطئة عن طريق الخطأ وأن كل الأعمال التي قمت بها في هذه الأثناء بدأت تبدو أشبه بذاكرة بعيدة.
لهذا السبب بالتحديد قمنا بإعداد قائمة بالأوامر الأساسية التي يمكنك استخدامها بأمان في جلسات PowerShell الخاصة بك لاختبار ميزات هذا البرنامج القوي ومعرفة أي منها يفعل ماذا بالضبط. تتضمن القائمة أدناه أسماء الأوامر والأسماء المستعارة ووصفًا موجزًا لما يفعله كل أمر.
لاحظ أنه يمكنك استخدام أسماء الأوامر أو الأسماء المستعارة الخاصة بهم ، وستكون النتيجة هي نفسها تمامًا. السبب الذي يجعل المرء يفضل استخدام الأسماء المستعارة هو أنها أسرع بكثير في الكتابة وإذا كان بإمكانك تذكرها بشكل صحيح وربطها باسم الأمر المقابل ، فمن المنطقي أكثر إذا كنت ترغب في إنجاز المهمة بسرعة.
اسم الأمر | الاسم المستعار | وصف |
---|---|---|
إضافة محتوى | أ | يتيح لك إلحاق المحتوى (مثل الكلمات أو البيانات) بملف |
إضافة PS | ASNP | يساعدك على إضافة العديد من الأدوات الإضافية لـ Windows PowerShell إلى الجلسة الحالية |
محتوى واضح | clc | يمسح محتويات عنصر بدون حذف العنصر الفعلي |
تاريخ واضح | clhy | يمسح أي وجميع الإدخالات من محفوظات الأوامر |
مضيف واضح | صافي | يمسح عرض البرنامج المضيف |
مضيف واضح | cls | يفعل نفس الشيء كما هو واضح |
مسح البند | cli | يزيل محتويات عنصر بدون حذف العنصر الفعلي |
مسح العنصر | clp | يمسح قيمة الممتلكات دون حذفها فعليًا |
متغير واضح | clv | يحذف قيمة المتغير |
قارن الكائن | يقارن | يتيح لك مقارنة مجموعتين من الكائنات |
قارن الكائن | فرق | يفعل نفس الشيء مثل المقارنة |
ربط PSSession | CNSN | يتيح لك إعادة الاتصال بالجلسات التي قطعت الاتصال بها |
تحويل المسار | cvpa | يسمح لك بتحويل مسار Windows PowerShell إلى مسار موفر Windows PowerShell |
نسخ العنصر | ينسخ | يساعدك على نسخ عنصر من موقع معين إلى آخر |
نسخ العنصر | cp | يفعل نفس الشيء مثل النسخ |
نسخ العنصر | CPI | يفعل نفس الشيء مثل copy و cp |
نسخ عنصر العنصر | CPP | يتيح لك نسخ قيمة وممتلكات من موقع معين إلى موقع مختلف |
تعطيل- PSBreakpoint | ديسيبل | يساعدك على تعطيل نقاط التوقف في وحدة التحكم الحالية |
قطع الاتصال PSSession | dnsn | يفصلك عن الجلسة الحالية |
تمكين- PSBreakpoint | أب | يتيح لك تمكين نقاط التوقف في وحدة التحكم الحالية |
دخول PSSession | etsn | يساعدك على بدء جلسة تفاعلية باستخدام جهاز بعيد |
خروج PSSession | exsn | ينهي جلسة تفاعلية مع جهاز بعيد |
تصدير-الاسم المستعار | إبال | يتيح لك تصدير معلومات حول الأسماء المستعارة المحددة حاليًا إلى ملف الإخراج |
تصدير- CSV | epcsv | يتيح لك تحويل الكائنات إلى سلاسل متعددة مفصولة بفواصل (CSV) وتصدير السلاسل إلى مستند CSV |
تصدير- PSSession | epsn | يستورد الأوامر من جلسة مختلفة ويصدرها إلى وحدة Windows PowerShell |
لكل كائن | ٪ | ينفذ عملية محددة مقابل كل عنصر من العناصر الموجودة في مجموعة كائنات الإدخال |
لكل كائن | foreach | يفعل نفس الشيء مثل ٪ |
تنسيق مخصص | نادي | يساعدك على استخدام طريقة عرض مخصصة لتنسيق الإخراج |
تنسيق قائمة | فلوريدا | يتيح لك تنسيق الإخراج كقائمة خصائص حيث يتم وضع كل خاصية في سطر جديد |
تنسيق الجدول | قدم | يتيح لك تنسيق الإخراج كجدول |
تنسيق واسع | مهاجم | يساعدك على تنسيق الكائنات كجداول عريضة حيث يتم عرض خاصية واحدة فقط لكل كائن |
الحصول على الاسم المستعار | فتاه | يجلب لك الأسماء المستعارة لجلستك الحالية |
Get-ChildItem | دير | يجلب قائمة بجميع الملفات والمجلدات الموجودة في محرك أقراص نظام الملفات |
Get-ChildItem | gci | يفعل نفس الشيء مثل دير |
Get-ChildItem | ls | يفعل نفس الشيء مثل dir و gci |
Get-Command | gcm | يجلب قائمة بجميع الأوامر التي يمكنك استخدامها |
الحصول على المحتوى | قط | يعرض محتويات الملف |
الحصول على المحتوى | GC | يفعل نفس الشيء مثل القط |
الحصول على التاريخ | ghy | يجلب قائمة بجميع الأوامر التي أدخلتها أثناء جلستك الحالية |
الحصول على التاريخ | ح | يفعل نفس الشيء مثل ghy |
الحصول على التاريخ | التاريخ | يفعل نفس الشيء مثل ghy و h |
تحصل على البند | جي | يتيح لك جلب الملفات والمجلدات |
الحصول على ItemProperty | GP | يجلب خصائص العنصر الذي حددته |
احصل على وظيفة | جي جي بي | يسترجع قائمة بجميع مهام Windows PowerShell التي تعمل في الخلفية والتي تعمل حاليًا في جلستك |
الحصول على الموقع | gl | يجلب معلومات حول مكدس الموقع الحالي أو موقع العمل |
الحصول على الموقع | pwd | يفعل نفس الشيء مثل gl |
الحصول على عضو | جم | يجلب جميع خصائص وأساليب كائنات محددة |
الحصول على وحدة | gmo | Retrieves a list of imported modules or modules that can be imported into the current session |
Get-Process | gps | Fetches a list of all the processes that are running locally or on a remote computer |
Get-Process | ps | Does the same thing as gps |
Get-PSBreakpoint | gbp | Retrieves all the breakpoints set in your current session |
Get-PSCallStack | gcs | Displays your current call stack |
Get-PSDrive | gdr | Fetches the drives in your current session |
Get-PSSession | gsn | Retrieves a list of local and remote Windows PowerShell sessions |
Get-PSSnapIn | gsnp | Fetches a list of all the Windows PowerShell snap-ins on the computer |
Get-Service | gsv | Lists all the services on a local or remote computer |
Get-Unique | gu | Retrieves unique items from a sorted list |
Get-Variable | gv | Displays a list of all the variables in the current console |
Get-WmiObject | gwmi | Fetches Windows Management Instrumentation (WMI) classes instances or information about available classes |
Group-Object | group | Lets you group objects that contain the same value for the properties that you specify |
help | man | Displays more details about Windows PowerShell commands and concepts |
Import-Alias | ipal | Allows you to import a list of aliases from a file |
Import-Csv | ipcsv | Build table-like custom objects using all the items contained within a CSV file |
Import-Module | ipmo | Import modules to your current session |
Import-PSSes sion | ipsn | Imports commands from a different session into your current session |
Invoke-Command | icm | Lets you execute commands on local and remote computers |
Invoke-Expression | iex | Lets you execute commands or expressions on the local computer |
Invoke-History | ihy | Executes commands from your session history |
Invoke-History | r | Does the same thing as ihy |
Invoke-Item | ii | Performs the default action on a specified item |
Invoke-RestMethod | irm | Sends either an HTTP or an HTTPS request to a RESTful web service |
Invoke-WebRequest | curl | Retrieves content from a webpage on the Internet |
Invoke-WebRequest | iwr | Does the same thing as curl |
Invoke-WMIMethod | iwmi | Allows you to call Windows Management Instrumentation (WMI) methods |
Measure-Object | measure | Determines numeric properties of objects, as well as words, lines, and characters in string objects |
mkdir | md | Creates a new item (directory) |
Move-Item | mi | Allows you to move an item from a specific location to a different one |
Move-Item | move | Does the same thing as mi |
Move-Item | mv | Does the same thing as mi and move |
Move-ItemProperty | mp | Allows you to move a property from a specific location to a different one |
New-Alias | nal | Allows you to create a new alias |
New-Item | ni | Lets you create a new item |
New-Module | nmo | Generates a new dynamic module that exists only in memory |
New-PSDrive | mount | Allows you to create temporary and persistent mapped network drives |
New-PSDrive | ndr | Does the same thing as mount |
New-PSSession | nsn | Establishes a persistent connection to a local or remote computer |
New-PSSessionConfigurationFile | npssc | Creates a session configuration file |
New-Variable | nv | Lets you create a new variable |
Out-GridView | ogv | Allows you to send output to an interactive table in a separate window |
Out-Host | oh | Sends the output to the command line (CMD) |
Out-Printer | lp | Lets you send the output to a printer |
Pop-Location | popd | Modifies your current location to the location that was pushed to the stack most recently. You can use the Push-Locationcmdlet (pushd) to pop the location either its default stack or from a stack that you create. |
powershell_ise.exe | ise | Displays an explanation on how you can use the PowerShell_ISE.exe command-line tool |
Push-Location | pushd | Appends the current location to the top of a location stack |
Receive-Job | rcjb | Fetches the results of current session Windows PowerShell background jobs |
Receive-PSSession | rcsn | Retrieves results of commands from disconnected sessions |
Remove-Item | del | Removes files and folders |
Remove-Item | erase | Does the same thing as del |
Remove-Item | rd | Does the same thing as del and erase |
Remove-Item | ri | Does the same thing as del, erase and rd |
Remove-Item | rm | Does the same thing as del, erase, rd, and ri |
Remove-Item | rmdir | Deletes folders |
Remove-ItemProperty | rp | Allows you to delete a property and its value from a given item |
Remove-Job | rjb | Lets you delete a Windows PowerShell background job |
Remove-Module | rmo | Helps you remove modules from your current session |
Remove-PSBreakpoint | rbp | Lets you remove breakpoints from the current console |
Remove-PSDrive | rdr | Removes temporary Windows PowerShell drives, as well as disconnects mapped network drives |
Remove-PSSession | rsn | Lets you close one or more Windows PowerShell sessions (PSSessions) |
Remove-PSSnapin | rsnp | Enables you to remove Windows PowerShell snap-ins from your current session |
Remove-Variable | rv | Clears a variable and its value |
Remove-WMIObject | rwmi | Lets you delete an instance of an existing Windows Management Instrumentation (WMI) class |
Rename-Item | ren | Helps you rename an item in a Windows PowerShell provider namespace |
Rename-Item | rni | Does the same thing as ren |
Rename-ItemProperty | rnp | Enables you to rename an item’s property |
Resolve-Path | rvpa | Resolves wildcard characters in a path, as well as displays the contents of the path |
Resume-Job | rujb | Helps you restart a job that was suspended |
Select-Object | select | Lets you select objects as well as their properties |
Set-Alias | sal | Lets you create or change a cmdlet’s or command element’s alias (alternate name) in the current Windows PowerShell session |
Set-Content | sc | Allows you to replace a file’s contents with contents that you specify. |
Set-Item | si | Changes an item’s value to a value that’s specified in the command |
Set-Location | cd | Lets you set your current working location to a specified location (changes the active location) |
Set-Location | chdir | Does the same thing as cd |
Set-PSBreakpoint | sbp | Lets you set a breakpoint on a command, variable, or line |
Set-Variable | set | Enables you to set a variable’s value or generates a variable if one with the requested name does not exist |
Show-Command | shcm | Displays a list of Windows PowerShell commands in a graphical command window |
Start-Job | sajb | Starts a background job in Windows PowerShell |
Start-Process | saps | Launches one or more local processes |
Start-Service | sasv | Lets you start one or more stopped services |
Stop-Process | kill | Helps you stop one or more running processes |
Where-Object | ? | Enables you to select certain objects from a collection based on their property values |
Write-Output | echo | Allows you to send an object to the next command in the pipeline. If it reaches the last command in the pipeline, the command will display the objects in the console |
Don’t let the sheer amount of basic PowerShell commands intimidate you. Although we called them basic, there’s absolutely no need for you to start memorizing them. In fact, that’s the exact reason why we created the table above so that you can go on about your work without worrying about having to remember each and every command we mentioned above.
You can use it as a quick refresher or even use your browser’s search feature to locate a specific command, its alias, and what it does if you’re confused. Although we already included this piece of information in the table above, if you’re ever confused while working in PowerShell, using the help command will display a few helpful details on how you can use this program and its commands more efficiently.
You can also pair the help command with another command or alias if you want more details about that specific command. For instance, this is what PowerShell displays when you type help Add-Computer:
However, you can use help with any other of the commands or their aliases in our table above. Make sure you understand that the same command can have multiple aliases, which means that you can achieve the same result by using various aliases. Although this may sound confusing, it actually gives you plenty of flexibility in case you can’t remember one command alias, but you remember another one that can help you achieve the same goal.
Using PowerShell
Naturally, the first thing you’d want to do is locate PowerShell and launch it. One sure way to launch PowerShell from just about anywhere you are on your PC is to hold down the Shift button on your keyboard, right-click any empty spot on your screen (not a menu, icon, button, or similar object), and select Open PowerShell window here from the context menu.
In addition to giving you quick access to the PowerShell console anywhere on your PC, doing so will automatically switch the default working directory for PowerShell to the one you’re currently located at. If you’re on a Windows 10 PC, you can also launch PowerShell by pressing the Win key on your keyboard, typing PowerShell in the Start menu, and selecting PowerShell when it becomes visible in the list of results.
On older versions of Windows, you’ll need to manually locate the PowerShell executable, which you can either find in the Accessories or System folders in your Start menu. Furthermore, seeing how older systems (such as Windows 7) don’t provide you with PowerShell by default, you’ll also have to install it on your computer, along with all of its dependencies.
Notice how launching PowerShell from the Start menu will set your active working directory to C:\Users\[your username here]
. By comparison, using the Shift + Right-click method we’ve presented above will set PowerShell’s active directory to the one you’re currently at when you spawn the console. For instance, if you use Shift + right-click and open PowerShell from your desktop, you’ll notice that the active directory will be C:\Users\[your username here]\Desktop
. For obvious reasons, the [your username here]
part will be different depending on your username.
Although you can keep PowerShell for home usage just fine, it’s better if you could make use of all that it has to offer. Incidentally, these features make PowerShell awesome for corporate usage, where you need to perform a large number of operations in a short time, and most likely on a huge number of devices.
Thus, instead of running each command manually on every single machine, you could simply create an automation script in PowerShell and receive the information you need automatically, without having to physically interact with the devices in case or even be near them. Just as CMD, PowerShell can be used through command lines. However, unlike its more rudimentary counterpart (i.e. the CMD), PowerShell also lets you summon scripts and cmdlets, which makes it more powerful, but also more complicated to use.
How to use cmdlets
We’ve used the term cmdlets quite a few times in our guide, so you’re probably left wondering whatever they mean. Well, to start at the beginning, it’s worth reminding you that CMD works with commands. A cmdlet, which is pronounced command-let, is also a command, but unlike traditional CMD commands, cmdlets are specific to PowerShell and let you perform single specific operations, such as copying files, moving items from one place to another, changing the active directory, or see the contents of an item.
Simply put, cmdlets are single function commands that you can type directly in PowerShell’s command line. If you have any prior experience with the CMD, you’ll find PowerShell somewhat intuitive to work with. One interesting thing about PowerShell is that it shares plenty of commands with CMD. Therefore, using CD with PowerShell will still change your active directory, DIR will still display the contents of the current folder, and CP will still let you copy an item from one place to another.
It’s quite worth mentioning that PowerShell is not case sensitive, unlike many other shells, which return errors if you miss using the correct case when typing your commands in them. Thus, copy-item will work just as well as Copy-Item, and if you remember neither one of them you can also use Copy, CP, and CPI (but also copy, COPY, cp, or cpi).
Most PowerShell cmdlets are written in C# and are specially built to perform operations that will return a .NET object as their result. At the time being, you could find more than a couple of hundred cmdlets you can use in PowerShell, which, let’s be fair, gives you more than just a little elbow room as far as performing operations goes.
Although it will be difficult to remember all the cmdlets you may have to work with (remember that you can use the table above), there are a few that you’ll use more frequently, which will make them incredibly easy to remember. Not to mention the fact that some of them are intuitive enough that their name actually gives away their purpose (e.g. copy is used to copy items, move can be used to move files, compare helps you compare sets of objects, etc).
However, if you’re not exactly in the mood to bookmark this article to use it later, you could also type in the Get-Command cmdlet in PowerShell, or gcm, if you want to keep things short. Doing so will display a full list of commands that are available to you, and you can use that list to plan ahead on whatever it is you’re trying to do.
Unlocking custom cmdlets
On the downside, Microsoft doesn’t just give you full access to the whole array of cmdlets that you can use in PowerShell by default, so you’ll have to jump through a bunch of extra hoops to unlock this feature and use it at your leisure. The good news is that the unlocking process doesn’t take long, and then there’s the fact that it can also be done through the PowerShell, which will make great practice for you. Without any further ado, let’s see how you can unlock custom cmdlets privileges in PowerShell.
Set-ExecutionPolicy
RemoteSigned
in the PowerShell command prompt and press EnterRestricted
and confirm your choice as you did at step 7If you want to streamline the whole process and not waste time typing everything down in PowerShell’s command prompt, you’ll be glad to learn that there’s an even simpler way to achieve the same result. Launch PowerShell with Administrator rights as you did at step one, and instead of typing each command and waiting for the prompt, you’re gonna pipeline everything up until the confirmation by typing this:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Naturally, you will still need to confirm your choice by typing Y and hitting Enter on your keyboard, but you just skipped a step and performed a series of operations at the same time. This is exactly why advanced PowerShell users create automation scripts to perform various management operations automatically: to save time and hassle. If you want, you can use the same command above to disable custom cmdlets on your system, but you’ll have to replace RemoteSigned
with Restricted
and also confirm your choice at the end.
You can also use AllSigned
and Unrestricted
to grant yourself even more privileges when it comes to running potentially unsafe scripts on your Windows PowerShell. The AllSigned option will let you run all scripts that were created by trusted publishers, whereas the Unrestricted option will enable PowerShell to run any script, regardless of its provenience and trustworthiness. Naturally, the Unrestricted option is also the most dangerous, so try to avoid it as best as you can, if possible, especially if you are a PC novice.
See? PowerShell is already starting to look a lot more accessible than it did just a few minutes back.
How to create and use scripts in PowerShell
As we’ve mentioned before and we’re positively sure you remember, you can use PowerShell to run automation scripts. However, you can’t just yell at PowerShell “Hey you, create this script for me!” and expect it to magically work, so you’ll have to put in some elbow grease and get it done yourself. However inconvenient this may sound right now, trust us, you’ll be thankful in the long run, considering all the work you won’t need to do anymore.
Although most of us rely on specialized software such as IDEs to create scripts or programs in a specific programming language, truth be told you can use any text editor as long as it can save files to the right extension. And even if it can’t, you can just navigate to the file you created and modify its extension manually by renaming it, but let’s get back to our sheep.
If you’re interested in creating a script that can work in PowerShell, you’ll be thrilled to learn that this script you’ve probably heard a lot of, is merely a text document with an extension that makes it compatible with PowerShell, PS1. Therefore, it’s easy to see why creating these scripts can be actually handled from within virtually any text editor, as long as you save it with the right (PS1) extension.
Write-host "Please enter your name:"
$Name = read-host
"Hello $Name! Visit TipsWebTech360.com for more awesome tutorials and guides!"
Now for the actual creation part:
script.ps1
as the file nameC:\Scripts\script.ps1
.\script.ps1
If you can’t run the script and PowerShell returns an error, make sure you’ve enabled PowerShell to run custom scripts on your system, and that you’re running PowerShell as an administrator. Not doing any or both things that we’ve specified in our instructions will most likely result in an error and you won’t be able to run your script.
Remember that this is merely a basic script that is somewhat similar to the classic “Hello, world!” one. It puts a spin on it by interacting with you (i.e. asking what your name is) and letting you interact with it (i.e. typing your name which will be used to print a message for you). However, PowerShell is capable of running far more complex scripts, ranging from collecting data from an array of machines to intricate data management, advanced system configuration operations, and even creating backups of SQL databases in a blink of an eye.
How can I backup SQL databases with PowerShell?
We’re glad you asked. As we’ve mentioned countless times in our guide, there are almost endless possibilities when it comes to operations that PowerShell can help you perform. One of the most popular ones is backing up an SQL database without having to go great lengths or possess extraordinary database management capabilities. All you have to do is fire up an elevated instance of PowerShell (with Administrator privileges) and use the Backup-SqlDatabase command. However, things are a bit more complicated than that, but we’ll get to that in a few.
Backing up an SQL database isn’t as easy as simply copying files from your PC to a safe location and hope they stay safe for whenever you may need them to perform data restoration operations, but on the bright side, using PowerShell can make it look like a walk in the park. Although there are several ways to achieve this, using the command we’ve mentioned above is the fastest, simplest way to backup an SQL database.
Among the capabilities of the Backup-SqlDatabase command, it’s possible to find full database backups, database file backups, as well as transaction log backups, so you got the full package within a single command-line tool. By default, using this command will perform a full database backup, so you will need to specify if you want it to follow a certain set of rules by using the BackupFile parameter.
لاحظ أن بعض إصدارات PowerShell لن تعرض هذا الأمر افتراضيًا ، لذلك سيتعين عليك إما استيراده أو تثبيته. والخبر السار هو أن تثبيت وحدة SQL ليس بالضبط علم الصواريخ ويمكن إنجازه حتى من قبل المبتدئين. إليك ما يجب عليك فعله إذا لم تتمكن من استخدام الأمر Backup-SqlDatabase في جلسة PowerShell الخاصة بك:
install-module sqlserver
import-module sqlserver
1. استكمال النسخ الاحتياطي لقاعدة بيانات SQL
Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360"
سينشئ الأمر الذي قمنا بتوضيحه أعلاه نسخة احتياطية كاملة لقاعدة البيانات من قاعدة بيانات تسمى TipsWebTech360 وحفظها في موقع النسخ الاحتياطي الافتراضي لمثيل خادم "Computer \ Instance" باسم Tips.WebTech360.bak.
2. إجراء نسخ احتياطي لقاعدة البيانات على أساس الموقع
Set-Location "SQLSERVER:\SQL\Computer\Instance"
PS SQLSERVER:\SQL\Computer\Instance> Backup-SqlDatabase -Database "Tips.WebTech360"
سيغير الأمر الأول أعلاه موقعك إلى الدليل النشط داخل مثيل الخادم الذي سيحدث النسخ الاحتياطي عليه. بشكل أساسي ، تعمل هذه التقنية تقريبًا مثل النسخة الاحتياطية الكاملة لقاعدة البيانات التي ذكرناها أعلاه ، ولكن في هذا المثال ، يمكنك تغيير دليل العمل لتحديد موقع مثيل الخادم حيث يتم إجراء النسخ الاحتياطي.
ستعمل هذه العملية أيضًا على إنشاء نسخة احتياطية كاملة من قاعدة بيانات تسمى Tips.WebTech360 وتصديرها كملف "Tips.WebTech360.bak" في الموقع الافتراضي لمثيل الخادم الذي تتصل به.
3. إجراء نسخ احتياطي لسجل المعاملات
Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database "Tips.WebTech360" -BackupAction Log
إذا كنت بحاجة فقط إلى الاحتفاظ بنسخة احتياطية من سجل المعاملات لقاعدة بيانات معينة ، فيمكن أن يساعدك PowerShell أيضًا في القيام بذلك من خلال أمر واحد يمكنك إدخاله مباشرة في واجهة سطر الأوامر الخاصة به. سينشئ الأمر أعلاه نسخة احتياطية من سجل معاملات قاعدة بيانات "Tips.WebTech360" ويصدرها إلى الموقع الافتراضي لمثيل خادم "Computer \ Instance" كملف يسمى "Tips.WebTech360.trn".
4. إنشاء نسخة احتياطية لقاعدة بيانات SQL مشفرة
$EncryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"
Backup-SqlDatabase -ServerInstance "." -Database "Tips.WebTech360" -BackupFile "Tips.WebTech360.bak" -CompressionOption On -EncryptionOption $EncryptionOption
إذا كنت قلقًا من وقوع النسخ الاحتياطي لقاعدة البيانات في الأيدي الخطأ ، فيمكن أن يساعدك PowerShell أيضًا في إنشاء ملفات نسخ احتياطي مشفرة جاهزة. بطبيعة الحال ، سيتعين عليك تحديد بعض المعلمات مثل خوارزمية التشفير ، ونوع التشفير (أي الشهادة) ، ومثيل الخادم ، واسم قاعدة البيانات ، وملف النسخ الاحتياطي ، وما إذا كنت تريد ضغط الإخراج أم لا.
سينشئ المثال أعلاه نسخة احتياطية من قاعدة بيانات "Tips.WebTech360" معينة ، وتشفيرها بتشفير AES-256 وشهادة خادم ، وضغطها ، وحفظ ملف "Tips.WebTech360.bak" الناتج في موقع النسخ الاحتياطي الافتراضي لمثيل الخادم. هذا مهم جدًا إذا كنت تخطط لعملية ترحيل وليس لديك طريقة مؤكدة لنقل جميع ملفات النسخ الاحتياطي دون المخاطرة بإبعاد أي واحد منها.
5. إجراء نسخة احتياطية على جميع قواعد البيانات في مثيل الخادم
Get-ChildItem "SQLSERVER:\SQL\Computer\Instance\Databases" | Backup-SqlDatabase
هناك أداة أخرى قد تكون مفيدة وهي قدرة PowerShell على الاحتفاظ بنسخة احتياطية من جميع قواعد البيانات على مثيل الخادم في نفس الوقت. بغض النظر عن عددهم ، ما عليك سوى تشغيل PowerShell ، واكتب تعديلًا للأمر أعلاه ، وانتظر حتى تنتهي عملية النسخ الاحتياطي. لاحظ أنه نظرًا لأن هذا سيؤدي إلى الاحتفاظ بنسخة احتياطية من جميع قواعد البيانات داخل مثيل الخادم ، فقد تضطر إلى الانتظار لفترة من الوقت ، لذا كن صبورًا.
سيقوم الأمر أعلاه بعمل نسخة احتياطية من جميع قواعد البيانات الموجودة على مثيل خادم "Computer \ Instance" وتصدير الملفات الناتجة إلى موقع النسخ الاحتياطي الافتراضي على نفس مثيل الخادم. سيتم إنشاء أسماء ملفات النسخ الاحتياطي تلقائيًا وفقًا لقاعدة البيانات المقابلة لكل منها متبوعًا بامتداد BAK (على سبيل المثال .bak).
على الرغم من وجود عدة طرق أخرى لإجراء نسخ احتياطي لـ SQL باستخدام PowerShell بطرق مختلفة ، فقد قدمنا فقط عددًا قليلاً نشعر أنه أكثر أهمية. لاحظ أنه من غير المحتمل أن تعمل الأوامر التي استخدمناها في الأمثلة أعلاه على بيئتك في شكلها الحالي ، لذلك سيتعين عليك تكييفها مع وضعك الحالي.
على سبيل المثال ، سيتعين عليك تغيير معلمة "Computer \ Instance" لمطابقة مثيل الخادم الخاص بك وتعديل اسم قاعدة البيانات الخاصة بك لتعكس اسم قاعدة البيانات الخاصة بك. تذكر أنه يمكنك دائمًا اللجوء إلى أمر المساعدة في PowerShell إذا شعرت يومًا أن الأمر الذي تحاول تشغيله مربك أو لا يعمل كما ينبغي.
يجب معرفة أوامر PowerShell
1. احصل على المساعدة
لا يمكننا التأكيد على هذا بما فيه الكفاية ، ولكن يجب أن يكون أمر Get-Help هو أول أمر تتعلمه على الإطلاق ، حيث يمكن أن يخرجك بجدية من العديد من المواقف الصعبة التي لا تكون متأكدًا فيها تمامًا مما إذا كنت تستخدم الأمر الصحيح ، أو بالضبط ما يمكنك تحقيقه بالأمر الذي تحاول نشره.
الآن بعد أن قمت بتثبيت الوحدة النمطية sqlserver على نظامك ، يمكنك تجربة أمر Get-Help الآن ومعرفة كيفية عمل Backup-SqlDatabase . ما عليك سوى كتابة Get-Help Backup-SqlDatabase في سطر أوامر PowerShell وصقل مهارات النسخ الاحتياطي لقاعدة بيانات PowerShell SQL.
لاحظ أنه إذا قمت مؤخرًا بتثبيت وحدة sqlserver على نظامك ، فقد تظل قاعدة بيانات التعليمات قديمة ، وقد تحتاج إلى تشغيل تحديث عليها حتى تتمكن من اللحاق بأي نصوص برمجية جديدة. بشكل افتراضي ، سيكتشف PowerShell أن المحتوى الذي تحاول الوصول إليه متاح عبر الإنترنت ، ولكن لا يمكنك الوصول إليه محليًا ، بل ويعرض عليك تحديث قاعدة البيانات نيابةً عنك. في هذه الحالة ، كل ما عليك فعله هو كتابة Y عند مطالبتك بذلك والضغط على مفتاح Enter بلوحة المفاتيح.
ومع ذلك ، إذا طالبك PowerShell بخطأ يفيد بأنه لا يوجد دليل تعليمات متاح للأمر الذي تهتم به ، فيمكنك تحديثه يدويًا عن طريق كتابة تعليمات التحديث والضغط على مفتاح Enter على لوحة المفاتيح. بعد انتهاء عملية التحديث ، يجب أن تكون قادرًا على التحقق من وثائق المساعدة المتاحة للأمر الذي تهتم به.
2. الحصول على العملية
Get-Process أمر بالغ الأهمية إذا كنت تريد اكتشاف المزيد حول النظام الذي تعمل عليه حاليًا. لكي تكون أكثر تحديدًا ، على الرغم من أنك ربما تكون قد خمنت ما يفعله هذا الأمر بالفعل بمجرد النظر إليه ، فإن Get-Process ستزودك بقائمة بجميع العمليات التي تعمل حاليًا على النظام الذي تعمل عليه.
بشكل افتراضي ، سيقوم Get-Process باسترداد قائمة بكل عملية تعمل على النظام الحالي الذي تعمل عليه ، لذلك قد تحتاج إلى إلحاق بعض المعلمات الإضافية بهذا الأمر إذا كنت تريد معلومات أكثر تحديدًا وتضييق نطاق قائمة النتائج. تحقق في لقطات الشاشة أدناه مما تحصل عليه عند تشغيل أمر Get-Process من تلقاء نفسه مقابل كيفية ظهوره إذا كنت أكثر تحديدًا وقمت بتنسيق النتائج.
Get-Process
Get-Process explorer | Format-List *
يمكن تخصيص الأمر الثاني لعرض تفاصيل إضافية حول أي عملية نشطة على نظامك. يمكنك استبدال Explorer بـ svchost أو Chrome أو أي عملية نشطة أخرى على نظامك تهتم بها. كما ذكرنا أعلاه ، يمكن أن يساعدك استخدام Get-Processes في حد ذاته في ذلك (على سبيل المثال ، العثور على قائمة بجميع العمليات الجارية ).
3. وقف العملية
هذا الأمر واضح إلى حد كبير ، حيث ربما تكون قد اكتشفت بالفعل أنه يمكن أن يساعدك في إيقاف العمليات التي تعمل حاليًا على نظامك. السبب الأكثر شيوعًا للقيام بذلك من PowerShell وليس باستخدام إدارة مهام Windows هو أنه في بعض الأحيان يمكن للعمليات أن تتجمد وتجعل تطبيقات واجهة المستخدم الرسومية بالكاد قابلة للاستخدام.
يمكن لمستخدمي PowerShell تحديد عملية مزعجة بسهولة باستخدام أمر Get-Process الذي شرحناه سابقًا ، ثم استخدام Stop-Process لإنهائها ، وبالتالي إلغاء تسجيل النظام. سيطالبك تشغيل Stop-Process بنفسه (بدون أي معلمة إضافية) في واجهة سطر أوامر PowerShell بإدخال معرف العملية التي تحاول إنهاؤها.
ومع ذلك ، يمكنك أيضًا إنهاء عملية باسمها (إذا كنت تعرفها) عن طريق إلحاق المعلمة -Name إلى الأمر cmdlet ، كما في المثال أدناه:
Stop-Process -Name "explorer"
سينهي الأمر أعلاه عملية Explorer ، والتي يمكن أن تكون مفيدة خاصةً إذا تجمدت أو تعطلت عليك ورفضت التحميل بشكل صحيح. لاحظ أنك ستحتاج إلى استخدام علامات الاقتباس عند تحديد اسم العملية التي تحاول إنهاؤها. إذا كانت العملية عنيدة وترفض الإنهاء (عادةً ما تقوم عمليات التخليص الأعلى بذلك) ، فيمكنك "إقناعها" عن طريق إلحاق معامل -Force بأمرك . قل ، على سبيل المثال ، أنه لا يمكنك إنهاء عملية Explorer الخاصة بك. في هذه الحالة ، يمكنك ببساطة كتابة الأمر أدناه:
Stop-Process -Force -Name "explorer"
علاوة على ذلك ، من الجدير بالذكر أن استخدام المعامل -Force في أمر Stop-Process الخاص بك لن يطلب التأكيد ، بدلاً من تشغيل الأمر بدون هذا الخيار. إذا كنت تريد معرفة المزيد حول أمر cmdlet هذا ، فتأكد من استخدام الأمر Get-Help .
4. الحصول على الخدمة
يعد هذا الأمر من بين قائمة الأوامر الأساسية لسبب وجيه: يمكن أن يوفر لك قائمة بجميع الخدمات المثبتة حاليًا على النظام الذي تعمل عليه ، بغض النظر عما إذا كانت قيد التشغيل أم لا. كما هو الحال مع العديد من أوامر cmdlets الأخرى ، يمكنك تخصيص Get-Service لتزويدك بمعلومات أكثر تحديدًا ، إما فيما يتعلق بخدمة معينة أو حتى عرض قائمة بجميع الخدمات قيد التشغيل (أو المتوقفة) على جهازك.
يمكنك المضي قدمًا وكتابة Get-Service في سطر أوامر PowerShell. يجب أن يزودك القيام بذلك بقائمة بجميع الخدمات المتاحة على جهاز الكمبيوتر الخاص بك ، بالإضافة إلى أسماء وحالات عرضها. إذا قمت بإلحاق أمر إضافي بأمر cmdlet الأصلي ، فيمكنك تغيير الإخراج ، مما يجعله يعرض النتائج التي تهتم بها فقط.
Get-Service "W*"
على سبيل المثال ، يجب أن تؤدي كتابة الأمر أعلاه إلى إرجاع قائمة بجميع الخدمات المتاحة على جهاز الكمبيوتر الخاص بك والتي تبدأ بالحرف "W". ومع ذلك ، يمكنك الذهاب إلى أبعد من ذلك وتخصيص الأمر الخاص بك من أجل تضييق قائمة النتائج بشكل أكبر.
Get-Service | Where-Object {$_.Status -eq “Running”}
سيسمح لك الأمر أعلاه بمشاهدة قائمة بجميع الخدمات المتاحة على جهاز الكمبيوتر الخاص بك والتي تعمل أيضًا في الوقت الذي تقوم فيه بتشغيل الأمر cmdlet. سيؤدي إلحاق "W *" كما فعلنا في المثال السابق إلى عرض قائمة بجميع الخدمات قيد التشغيل على جهاز الكمبيوتر الخاص بك والتي تبدأ بالحرف "W" ، ويجب أن يبدو الأمر كما يلي:
Get-Service "W*" | Where-Object {$_.Status -eq "Running"}
5. الحصول على سجل الأحداث
يجب أن يعرف كل مسؤول نظام مسؤول طريقه للعمل مع سجلات الأحداث ، مع التأكد من أن هذه المستندات يمكن أن تزودك بمعرفة مفيدة حول ما حدث على نظامك ، ووقت حدوثه ، وأحيانًا ما تسبب في هذا الحدث المحدد.
لذلك ، يمكننا أن نفترض بأمان أن أمر Get-EventLog الخاص بـ PowerShell ليس شيئًا تريد أن يكون مفقودًا من مجموعة الأدوات الخاصة بك ، خاصة إذا كنت تخطط لشحذ مهارات إدارة النظام لديك. إذا كنت تعرف كل ما يمكن معرفته عن سجلات الأحداث وأسمائها ، فيمكنك المضي قدمًا وكتابة Get-EventLog مباشرةً في سطر أوامر PowerShell. لاحظ أن PowerShell سيطالبك بإدخال اسم السجل الذي تحاول عرضه.
إذا قمت بكتابة اسم سجل أحداث فارغ (واحد بدون إدخالات) ، فسوف يطالبك PowerShell بخطأ ويعيدك إلى واجهة سطر الأوامر. لذلك ، سيكون من الأسهل استخدام الأمر أدناه للتو ، والذي سيوفر لك قائمة بسجلات الأحداث على نظامك ، إلى جانب تفاصيل إضافية حول كل منها ، مثل إجراء تجاوز السعة الافتراضي وعدد الإدخالات.
Get-EventLog -List
من أكثر حالات الاستخدام شيوعًا لسجلات الأحداث التحقق من الأخطاء ، خاصةً إذا حدثت بصمت ، أو أعقبها تعطل في النظام قريبًا ، أو أدت إلى الموت الزرقاء ، والذي نعلم جميعًا كيف يمكن أن يكون غامضًا. ومع ذلك ، ستحتاج إلى أن تكون أكثر تحديدًا باستخدام Get-EventLog cmdlet إذا كنت تريد تضييق نطاق قائمة النتائج ، والتي يمكن أن تكون ضخمة في كثير من الأحيان.
Get-EventLog -LogName Security -EntryType Error
يجب أن توفر لك كتابة الأمر أعلاه في واجهة سطر أوامر PowerShell قائمة بجميع الأخطاء المسجلة في سجل أحداث الأمان. لاحظ أنه يمكنك استخدام المعلمة -List لرؤية جميع أنواع السجلات في نظامك واستبدالها Security
في الأمر أعلاه بأي نوع سجل آخر تجده في قائمتك ، طالما أنها تحتوي على أكثر من صفر إدخالات.
إذا كنت تريد معرفة المزيد حول استخدام الأمر Get-EventLog في PowerShell ، فلا تتردد في استخدام أمر Get-Help الذي تحدثنا عنه في القسم الأول من هذا الفصل الفرعي.
6. تحويل إلى HTML
في بعض الأحيان عندما تستخدم PowerShell ، قد تتعثر في بعض المعلومات التي تريد استخراجها والاحتفاظ بها للرجوع إليها في المستقبل ، أو إنشاء تقارير ، أو ببساطة استيرادها من تطبيق مختلف. يعد أمر ConvertTo-HTML أحد أكثر الطرق شيوعًا لاستخراج هذه البيانات من PowerShell وتصديرها إلى ملف خارجي على جهاز الكمبيوتر الخاص بك .
سيساعدك استخدام هذا الأمر في إنشاء تقارير شاملة يمكن أن تساعدك في تحليل المعلومات المستخرجة والرؤى بطريقة أكثر فاعلية من خلال تزويدك بجداول HTML التي يمكنك تخصيصها لاحقًا عن طريق إضافة أنماط مخصصة وبيانات مرمزة بالألوان. كما هو الحال مع العديد من أوامر PowerShell الأخرى ، لا يعمل ConvertTo-HTML من تلقاء نفسه ، وستحتاج إلى إقرانه بأمر إضافي سيستخدمه كمدخل (أو مصدر بيانات).
على سبيل المثال ، إذا كنت تحاول طباعة تقرير يتكون من كل خدمة تبدأ بالحرف "W" وتعمل حاليًا على جهاز الكمبيوتر الخاص بك ، فيمكنك كتابة الأمر أدناه:
Get-Service "W*" | Where-Object {$_.Status -eq "Running"} | ConvertTo-HTML
سيوفر لك هذا رمز HTML للبيانات التي أدخلتها إلى وظيفة ConvertTo-HTML ، والتي يمكنك ببساطة نسخها مباشرةً من واجهة سطر أوامر PowerShell ، ولصقها في محرر النصوص المفضل لديك وحفظها كملف HTML ، والذي يمكنك استخدامها لعرض النتيجة في أي متصفح ويب.
يمكنك استخدام ConvertTo-HTML مع أي أمر PowerShell تقريبًا ، طالما أن الأمر الذي تستخدمه كمصدر بيانات سيولد مخرجات. يمكنك تجربته باستخدام أوامر cmdlets أخرى ، مثل Get-Process أو Get-EventLog أو Get-Help . لاحظ أنه بصرف النظر عن تحويلات HTML ، يمكن أيضًا استخدام ConvertTo cmdlet لإنشاء ملفات JSON و CSV و XML. عليك فقط استبدال HTML في صيغة الأوامر بالتنسيق الذي تهتم به.
7. تصدير- CSV
إذا كنت تعمل مع كائنات مختلفة تشعر أنها قد تناسبك بشكل أفضل في الجدول ، فيمكنك استخدام PowerShell لتحويل العناصر التي تتعامل معها حاليًا إلى سلسلة من سلاسل CSV (قيم مفصولة بفاصلة) وتصدير السلاسل إلى ملف بحركة سريعة واحدة من خلال الأمر Export-CSV cmdlet.
كما هو الحال مع ConvertTo-HTML ، يحتاج Export-CSV إلى إدخال يمكنه تحويله إلى سلاسل CSV ، لأنه لا يمكن أن يعمل بمفرده. وبالتالي ، ستحتاج إلى إقرانه بأمر يمكن استخدامه لإنشاء البيانات ، مثل Get-Service أو Get-Process التي شرحناها سابقًا.
بشكل أساسي ، يقوم Export-CSV بنفس الشيء تقريبًا مثل أمر cmdlet ConvertTo-HTML الذي ناقشناه أعلاه ، بصرف النظر عن جانب واحد مهم لا ينبغي إغفاله: يقوم أمر cmdlet هذا بالفعل بإنشاء ملف وحفظه على جهاز الكمبيوتر الخاص بك ، بدلاً من الأمر ConvertTo ، الذي يمنحك فقط الإخراج ويسمح لك بإنشاء الملف بنفسك.
لنفترض ، على سبيل المثال ، أنك ترغب في تحويل قائمة الخدمات التي تعمل على جهاز الكمبيوتر الخاص بك إلى ملف CSV بحيث يمكنك معالجة الملف بشكل أكبر باستخدام برنامج تابع لجهة خارجية ، أو وضعه في جدول بيانات لمزيد من الرجوع إليه. كل ما عليك فعله هو كتابة أمر Get-Service متبوعًا بأمر Export-CSV ، واذكر الموقع الذي تريد إنشاء ملف CSV فيه ، كما في المثال أدناه:
Get-Service | Export-CSV c:\Tips.WebTech360.csv
سيؤدي الأمر أعلاه إلى جلب قائمة بجميع الخدمات المتاحة على جهاز الكمبيوتر الخاص بك ، سواء كانت قيد التشغيل أم لا ، وتحويلها إلى سلسلة من سلاسل CSV ، وحفظ النتيجة كملف CSV باسم "Tips.WebTech360" في جذر محرك الأقراص C . يمكنك بعد ذلك فتح الملف في حل برنامج تابع لجهة خارجية ، أو تحويله إلى جدول كامل ، أو مجرد تخزينه للاستخدام في المستقبل.
ورقة الغش PowerShell - الخلاصة
على الرغم من أنه لا يزال هناك الكثير من الأشخاص الذين يدافعون عن CMD ، إلا أنه يمكن إخبار الحقيقة بأن PowerShell أكثر تنوعًا وقوة ، ولكن في نفس الوقت أكثر تعقيدًا في العمل من نظيره في CMD التقليدي. الكم الهائل من الميزات ، جنبًا إلى جنب مع حقيقة أنه يمكنك إنشاء برامج نصية للأتمتة في PowerShell وتنفيذ عمليات إدارة نظام معقدة ، يترك CMD في مخروط من الظل.
إذا كنت قد بدأت للتو في اكتشاف PowerShell وكنت تكافح لمعرفة ما يفعله كل أمر ، أو كيفية توجيه العديد من الأوامر ، أو كيفية إنشاء برامج PowerShell النصية وتشغيلها بنفسك ، فإن دليلنا هو نقطة انطلاق رائعة. لقد أمضينا وقتنا في شرح بعض أهم الأوامر التي يجب أن تعرفها في PowerShell ، وأنشأنا بعض البرامج التعليمية القصيرة ، وقمنا أيضًا بتضمين قائمة بأوامر PowerShell الأساسية ، والأسماء المستعارة ، والأوصاف القصيرة لكل عنصر ، فقط للتبسيط رحلة اكتشاف PowerShell الخاصة بك.
سوق برامج إدارة الشبكة مزدحم للغاية. اختصر بحثك باتباع توصياتنا لأفضل أدوات إدارة الشبكة.
يمكن استخدام عمليات المسح بينغ لمصلحتك بعدة طرق. تابع القراءة بينما نناقش كيفية تقديم أفضل 10 أدوات مسح لـ Ping يمكنك العثور عليها.
مواقع الويب مهمة ويجب مراقبتها عن كثب باستمرار لتحقيق الأداء المناسب. فيما يلي بعض أفضل الأدوات لمراقبة مواقع الويب.
إليك نظرة على بعض من أفضل أدوات نشر البرامج لتخفيف آلام إدارة أي عدد من الأجهزة
sFlow هو بروتوكول لتحليل التدفق مضمن في العديد من أجهزة الشبكات. نقوم بمراجعة أفضل خمسة جامعات ومحللات التدفق الحر.
لمساعدتك في اختيار الأداة المناسبة ، تم تقديم أفضل أدوات مراقبة البنية التحتية بدون وكيل وإعطائك مراجعة سريعة لكل منها.
مع تزايد شعبية Linux في مراكز البيانات ، تم إلقاء نظرة على عرض النطاق الترددي على نظام Linux ومراجعة أفضل الأدوات أيضًا.
أمان البريد الإلكتروني هو مهمة مهمة لمقدمي الخدمات المُدارة. كنا نراجع SolarWinds Mail Assure ، أحد أفضل الأدوات لهذا الغرض.
إذا كنت من مستخدمي Windows المتميزين ، فمن المحتمل أنك تعرف وتفهم كيف يمكن أن يؤدي إجراء عمليات مختلفة على جهاز الكمبيوتر الخاص بك إلى أكثر من نهج واحد و
يبدو أن الكمون هو العدو الأول للشبكات. ستعلم أدوات قياس زمن الانتقال هذه كيفية اختبار وقت الاستجابة لاكتشاف المشكلات وتحديد موقعها وإصلاحها.