الأوامر الأساسية العشر لـ PowerShell التي تحتاج إلى معرفتها

هل جربت يومًا كتابة بعض أوامر PowerShell وتعثرت؟ لا داعي للقلق بعد الآن! أحد أفضل الطرق لتصبح ماهرًا في PowerShell هو فهم الأساسيات. معرفة بعض الأوامر الأساسية في PowerShell يمكن أن تجعلك محترفًا، وستقوم بتوتيد المهام الإدارية بكفاءة أكبر.

في هذا البرنامج التعليمي، ستتعلم الأوامر الأساسية في PowerShell التي تحتاج إلى معرفتها لجعل تجربة PowerShell الخاصة بك أكثر إثارة.

المتطلبات الأساسية

سيكون هذا البرنامج التعليمي عرضًا تفاعليًا، ولكنه لا يتطلب الكثير من المتطلبات المسبقة. إذا كنت ترغب في المتابعة، فإن أي نظام (Windows أو Linux) مع PowerShell 5.1 أو أحدث سيعمل. على الرغم من أن الأوامر تظهر باستخدام Windows PowerShell، إلا أن الأمثلة أدناه تعمل في PowerShell 7+ على مختلف الأنظمة.

الحصول على معلومات المساعدة حول الأوامر باستخدام Get-Help

هل كتبت يومًا رموزًا مثل رئيس دون الحصول على أي مساعدة؟ حسنًا، ستكون هناك دائمًا حاجة إلى المساعدة أثناء كتابة الرموز. سواء كنت تقوم بتشغيل رموز أو أوامر في بيئة سطر الأوامر، يكون الأمر Get-Help مفيدًا.

لنبدأ هذا البرنامج التعليمي بتعلم كيفية عمل أمر Get-Help.

تقدم cmdlet Get-Help لك الإرشادات اللازمة لاستخدام أي أمر بفعالية دون الحصول على أخطاء. اعتبرها كوثائق لكل من أوامر PowerShell.

افتح PowerShell كمسؤول، وقم بتشغيل الأمر Get-Help أدناه لعرض معلومات مفصلة (-Detailed) حول أمر، مثل الـ Get-ExecutionPolicy cmdlet.

Get-Help -Name Get-ExecutionPolicy -Detailed
Getting Detailed Information of Commands

بدلاً من معلومات مفصلة فقط، ربما ترغب في عرض معلومات كاملة حول cmdlet. إذا كان الأمر كذلك، فأضف المعامل -Full في الأمر Get-Help بدلاً من ذلك.

قم بتشغيل الكود أدناه للحصول على المعلومات الكاملة (-Full) حول cmdlet Get-Help نفسه.

Get-Help Get-Help -Full
Getting Full Information of Commands

ربما تحتاج لمزيد من الأمثلة لتجنب الأخطاء عند تشغيل الأمر. في هذه الحالة، أضف المعامل -Examples لرؤية أمثلة على كتابة الأمر.

قم بتشغيل الأمر Get-Help أدناه للحصول على أمثلة (-Examples) حول كيفية استخدام cmdlet Get-Process.

 Get-Help Get-Process -Examples
Applying -Examples to get help for Get-Process

استرجاع عمليات الكمبيوتر باستخدام Get-Process

عندك ذاكرة عن مدير المهام في Windows اللي يعرض لك كل العمليات، الخدمات، التطبيقات، وكل هذا؟ طيب! الأمر Get-Process هو أمر بسيط وأساسي يمنحك وصولًا إلى كل عمليات الحاسوب بضع خطوات دون الحاجة لفتح مدير المهام.

قم بتشغيل الأمر التالي للحصول على قائمة بكل عمليات النظام بتنسيق جدولي.

Get-Process
Getting All Windows Processes

عندما يتجمد العملية ويسبب بطء في عمل الحاسوب الخاص بك، قم بإيقاف العملية عبر توجيه أمر Get-Process إلى أمر Stop-Process. على سبيل المثال: قم بتشغيل Get-Process -Id 1252 | Stop-Process، حيث يحدد -Id 1252 معرف العملية التي تريد إيقافها.

الحصول على تاريخ جلسة PowerShell باستخدام Get-History

قد تكون هناك حاجة للتحقق من الأوامر الأخيرة التي قمت بها، مثل التحقق مما إذا كانت الأمر الأخير الذي قمت به صحيحًا أم لا، أو ما إذا كنت قد قمت فعلًا بتنفيذ أمر. ولكن هل تحتوي PowerShell على تاريخ الأوامر؟ نعم! يُرجى تشغيل أمر Get-History لاسترداد كائن يحتوي على جميع الأوامر الأخيرة الخاصة بك في جلسة PowerShell الحالية.

قم بتشغيل الأمر أدناه للحصول على قائمة بجميع الأوامر التي تم تنفيذها مؤخرًا في الجلسة الحالية.

Get-History
Getting the commands history of the current session

إذا كنت تفضل عرض أوامر محددة من التاريخ، فأضف معلمة -Id متبوعة برقم الهوية للأمر من التاريخ. على سبيل المثال، قم بتشغيل Get-History -Id 2 لعرض الأمر الثاني في التاريخ.

عرض خدمات النظام باستخدام Get-Service

مثل cmdlet Get-Process، تتيح لك PowerShell أيضًا عرض جميع الخدمات التي تعمل في النظام الخاص بك. يتيح لك cmdlet Get-Service عرض جميع الخدمات، والتي يمكن أن تكون خادم قاعدة بيانات أو تطبيق يتحكم تلقائيًا في سطوع شاشة الكمبيوتر الخاص بك.

تشغيل الأمر أدناه للحصول على قائمة بجميع الخدمات على نظامك بتنسيق جدولي. باستخدام هذا الأمر، يمكنك عرض الخدمات التي تم إيقافها حتى.

Get-Service
Getting all available services on the local computer

ربما تبحث عن الخدمات التي تبدأ بحرف معين. إذا كنت كذلك، فإضافة حرف وايلد كارد (*) سيقوم بالعمل.

قم بتشغيل الأمر Get-Service أدناه، مرر الحرف الأول وعلامة النجمة (A*) للخدمات التي تريد عرضها. إضافة علامة وايلد كارد تسمح لك بتصفية جميع الخدمات التي لا تبدأ بالحرف ‘أ’.

Get-Service A*
Getting all services that start with the letter ‘A’

تشغيل الوظائف الخلفية مع Start-Job

يمكن أن يكون كتابة الأوامر مزعجًا إذا ما كان هناك الكثير لكتابته، ولكن الأمر الواحد يستغرق وقتًا طويلاً للكتابة. ليس هناك مشكلة! توفر PowerShell cmdlet لتشغيل الوظائف الخلفية في جلستك. يوفر cmdlet Start-Job بيئة PowerShell لتشغيل الشفرة أو الأوامر كوظيفة خلفية بدون تفاعل المستخدم.

قم بتشغيل الأمر Start-Job أدناه لبدء وظيفة خلفية لـ cmdlet Get-Command. بدء وظيفة خلفية يشغل cmdlet Get-Command دون عرض الإخراج على سطر الأوامر الخاص بك.

Start-Job -ScriptBlock {Get-Command}
Starting a background job for Get-Command

نظرًا لأنك تستخدم وظائف خلفية، كيف يمكنك التحقق مما إذا كانت الوظيفة ما زالت قيد التشغيل أو قد اكتملت؟ قم بتشغيل الأمر Get-Job للحصول على جميع الوظائف في جلسة العمل الخاصة بك.

تغيير مجلدات العمل باستخدام Set-Location

Translation:

هناك أوقات عندما تحتاج إلى تغيير الدلائل، مثل عند تشغيل سيناريو أو برنامج من موقع معين. ولكن كيف يمكنك تغيير الدلائل؟ دع الأمر Set-Location يساعدك في ذلك. يقوم الأمر Set-Location بتعيين دليل العمل الحالي إلى الدليل الذي تحدده في أمر.

قم بتشغيل الكود أدناه لتعيين دليل العمل الحالي إلى C:\Users\hp\Desktop. غيّر hp باسم مستخدم الكمبيوتر الخاص بك.

Set-Location C:\Users\hp\Desktop

أدناه، يمكنك رؤية في الرمز أن C:\Users\hp\Desktop هو الآن دليل العمل.

Changing Working Directory

التحقق مما إذا كانت المسارات موجودة من خلال Test-Path

قد تعرض PowerShell خطأ إذا كنت تحاول الوصول إلى ملف غير موجود. كيفية تجنب ذلك؟ يتيح لك الأمر Test-Path فحص ما إذا كان مسار موجودًا أم لا، بفضل بناء جملته البديهية.

الآن، قم بإنشاء مجلد على سطح المكتب وسمِّه NewFolder.

شغِّل الأمر Test-Path أدناه، تلاه المسار الذي تفضل اختباره. في هذا المثال، يختبر الأمر ما إذا كان المسار C:\Users\hp\Desktop\NewFolder موجودًا.

Test-Path C:\Users\hp\Desktop\NewFolder

أدناه ، يمكنك رؤية الأمر الذي أُرجعت قيمته صحيح لأن المسار موجود. خلاف ذلك ، ستحصل على ناتج كاذب.

Testing if the path exists

تحويل كائن PowerShell إلى HTML باستخدام ConvertTo-HTML

إذا كنت تفضل شكلًا منظمًا لبياناتك ، فقم بتحويل بياناتك إلى HTML باستخدام ConvertTo-Html الأمر. في الأساس ، يأخذ الأمر الملف الناتج الذي تريد تحويله واسم الملف الذي تريد حفظه به.

قم بتشغيل الأمر أدناه لجمع قائمة بجميع أوامر PowerShell (Get-Command) في الذاكرة وتحويلها (ConvertTo-Html) إلى ملف HTML يُسمى Command.html.

يتم حفظ ملف HTML على سطح مكتبك نظرًا لأنك قمت بتغيير دليل العمل مسبقًا. لحفظ ملف HTML في موقع آخر بدلاً من ذلك ، حدد المسار الكامل. على سبيل المثال: Get-Command | ConvertTo-HTML > C:\Temp\Commands.html

# ينشئ ملف Commands.html الذي يحتوي على جميع أوامر PowerShell
Get-Command | ConvertTo-Html > Commands.html

تصدير كائنات PowerShell إلى CSV باستخدام تصدير CSV

إذا كنت تعتقد أن التقرير بتنسيق CSV سيكون أفضل بدلاً من HTML ، فيمكنك استخدام الأمر Export-CSV . بشكل مماثل لأمر ConvertTo-Html، يتيح لك أمر Export-CSV تصدير البيانات إلى ملف CSV.

قم بتشغيل الأمر أدناه لجمع قائمة بأوامر PowerShell (Get-Command) وتصدير القائمة كملف CSV (Export-CSV) بالاسم Commands.csv.

Get-Command | Export-CSV Commands.csv

مثلما هو الحال في أمر ConvertTo-Html، يمكنك أيضًا تحديد مسار التصدير لملف CSV مثل هذا: Get-Command | Export-CSV C:\Temp\Commands.csv

افتح ملف Commands.csv، وسترى شيئًا مشابهًا للذي أدناه. ليس سيئًا، صحيح؟

Opening Exported Commands.csv in Microsoft Excel

عرض جميع أوامر PowerShell المتاحة بواسطة Get-Command

آخر أمر PowerShell في القائمة هو Get-Command cmdlet. يقوم أمر Get-Command بأساسه بسرد جميع أوامر PowerShell المتاحة يمكنك تشغيلها بتنسيق جدولي. ولكن كما رأيت في الأمثلة السابقة، فإنه ليس كل ما يمكن أن يقوم به Get-Command.

ربما ترغب في سرد الـ cmdlets أو الـ aliases بشكل انتقائي. إذا كان الأمر كذلك، قم بإضافة معلمة -CommandType إلى الـ cmdlet Get-Command لتصفية النتائج حسب نوع الأمر الذي تحدده. قيمة المعلمة -CommandType يمكن أن تكون Alias، Cmdlet، أو Function.

قم بتشغيل الأمر Get-Command أدناه لسرد الـ cmdlets فقط (-CommandType Cmdlet) والتي تبدأ أسماؤها بـ “G” (-Name G*).

Get-Command -Name G* -CommandType Cmdlet
Getting all cmdlets that start with the letter ‘G’

طريقة أخرى لتصفية إخراج Get-Command هي عن طريق توجيهه إلى cmdlet Select-Object. كما تعلم، يكون الكائن الذي يُعيد إخراجه من قبل cmdlet Get-Command بتنسيق جدولي. في هذا الجدول، تُمثل أسماء الأعمدة الخصائص التي يمكنك تحديدها من الكائن.

قم بتشغيل الأمر Get-Command أدناه لجمع قائمة بجميع الأوامر في PowerShell وتصفية العرض لعرض خاصية تعريف كل أمر (Select-Object -Property Definition).

Get-Command | Select-Object -Property Definition
Property Definition

الاستنتاج

هذا البرنامج التعليمي قد قدم لك دليلًا شاملاً عن تشغيل الأوامر الأساسية في PowerShell. الآن، يجب أن تعرف كيفية توجيه الأوامر بشكل شامل وتنفيذها وتجنب العلق في البرمجة في أي وقت.

الآن، كيف ستبني على هذه المعرفة الجديدة؟ ربما تتعلم كيفية كتابة أوامر متعددة الأسطر في نصوص PowerShell دون أن تُحطم الأمور؟

Source:
https://adamtheautomator.com/basic-powershell-commands/