هل جربت يومًا كتابة بعض أوامر 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.

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

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

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

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

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

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

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

نظرًا لأنك تستخدم وظائف خلفية، كيف يمكنك التحقق مما إذا كانت الوظيفة ما زالت قيد التشغيل أو قد اكتملت؟ قم بتشغيل الأمر
Get-Job
للحصول على جميع الوظائف في جلسة العمل الخاصة بك.
تغيير مجلدات العمل باستخدام Set-Location
Translation:
هناك أوقات عندما تحتاج إلى تغيير الدلائل، مثل عند تشغيل سيناريو أو برنامج من موقع معين. ولكن كيف يمكنك تغيير الدلائل؟ دع الأمر Set-Location
يساعدك في ذلك. يقوم الأمر Set-Location
بتعيين دليل العمل الحالي إلى الدليل الذي تحدده في أمر.
قم بتشغيل الكود أدناه لتعيين دليل العمل الحالي إلى C:\Users\hp\Desktop. غيّر hp
باسم مستخدم الكمبيوتر الخاص بك.
أدناه، يمكنك رؤية في الرمز أن C:\Users\hp\Desktop هو الآن دليل العمل.

التحقق مما إذا كانت المسارات موجودة من خلال Test-Path
قد تعرض PowerShell خطأ إذا كنت تحاول الوصول إلى ملف غير موجود. كيفية تجنب ذلك؟ يتيح لك الأمر Test-Path
فحص ما إذا كان مسار موجودًا أم لا، بفضل بناء جملته البديهية.
الآن، قم بإنشاء مجلد على سطح المكتب وسمِّه NewFolder.
شغِّل الأمر Test-Path
أدناه، تلاه المسار الذي تفضل اختباره. في هذا المثال، يختبر الأمر ما إذا كان المسار C:\Users\hp\Desktop\NewFolder موجودًا.
أدناه ، يمكنك رؤية الأمر الذي أُرجعت قيمته صحيح لأن المسار موجود. خلاف ذلك ، ستحصل على ناتج كاذب.

تحويل كائن 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
تصدير كائنات PowerShell إلى CSV باستخدام تصدير CSV
إذا كنت تعتقد أن التقرير بتنسيق CSV سيكون أفضل بدلاً من HTML ، فيمكنك استخدام الأمر Export-CSV
. بشكل مماثل لأمر ConvertTo-Html
، يتيح لك أمر Export-CSV
تصدير البيانات إلى ملف CSV.
قم بتشغيل الأمر أدناه لجمع قائمة بأوامر PowerShell (Get-Command
) وتصدير القائمة كملف CSV (Export-CSV
) بالاسم Commands.csv
.
مثلما هو الحال في أمر ConvertTo-Html، يمكنك أيضًا تحديد مسار التصدير لملف CSV مثل هذا:
Get-Command | Export-CSV C:\Temp\Commands.csv
افتح ملف Commands.csv، وسترى شيئًا مشابهًا للذي أدناه. ليس سيئًا، صحيح؟

عرض جميع أوامر 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
هي عن طريق توجيهه إلى cmdlet Select-Object
. كما تعلم، يكون الكائن الذي يُعيد إخراجه من قبل cmdlet Get-Command
بتنسيق جدولي. في هذا الجدول، تُمثل أسماء الأعمدة الخصائص التي يمكنك تحديدها من الكائن.
قم بتشغيل الأمر Get-Command
أدناه لجمع قائمة بجميع الأوامر في PowerShell وتصفية العرض لعرض خاصية تعريف كل أمر (Select-Object -Property Definition
).

الاستنتاج
هذا البرنامج التعليمي قد قدم لك دليلًا شاملاً عن تشغيل الأوامر الأساسية في PowerShell. الآن، يجب أن تعرف كيفية توجيه الأوامر بشكل شامل وتنفيذها وتجنب العلق في البرمجة في أي وقت.
الآن، كيف ستبني على هذه المعرفة الجديدة؟ ربما تتعلم كيفية كتابة أوامر متعددة الأسطر في نصوص PowerShell دون أن تُحطم الأمور؟
Source:
https://adamtheautomator.com/basic-powershell-commands/