21 حزيران، 2022

10 أوامر PowerShell سهلة يجب أن يعرفها جميع مستخدمي Windows

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

سوف يعلمك تعلم PowerShell أيضًا كيفية التعامل مع معظم الأمور لينكس المهام الإدارية داخل قذيفة باش. يشبه PowerShell ما تجده في معظم الأحيان لينكس توزيعات

ما هو بوويرشيل؟

Windows PowerShell عبارة عن واجهة سطر أوامر ولغة برمجة نصية تم تطويرها بواسطة Microsoft لمسؤولي النظام. ولكن ليس من الضروري أن تكون مسؤولاً أو مبرمجًا لاستخدامها لأنها أبسط بكثير من لغات البرمجة الأخرى. إنها تشبه اللغة الإنجليزية العادية، ويمكن للجميع فهمها واستخدامها لإدارة أجهزة الكمبيوتر الخاصة بهم.

تُعرف الأوامر المستخدمة في Windows PowerShell باسم "cmdlets". وسوف تتيح لك تنشيط إجراء معين، أو سلسلة من الإجراءات، على جهاز الكمبيوتر الخاص بك. يمكن أن تكون هذه الإجراءات بسيطة، مثل تسجيل الدخول إلى شبكة لاسلكية، أو أكثر تعقيدًا، مثل أتمتة مهام متكررة محددة. 

لفتح PowerShell، اضغط على آبدأ زر، اكتب "بوويرشيل" في مربع البحث، ثم حدد ويندوز PowerShell. سيتم فتحك على واجهة سطر الأوامر، حيث تكون جاهزًا لبدء كتابة الأوامر.

في هذه المقالة، سنتناول أكثر من عشرة من أوامر PowerShell الأكثر فائدة وسهولة.

1- احصل على المساعدة

يعد Get-Help cmdlet مكانًا رائعًا للبدء في PowerShell. فهو يوفر نظرة عامة على ما يمكنك القيام به وهو أيضًا رائع عندما تحتاج إلى مزيد من المعلومات حول أمر cmdlet معين. 

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

لكن هذه ليست نهاية أمر الحصول على المساعدة. يكتب: 

احصل على مساعدة * 

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

النوع:

احصل على مساعدة

لا تحتاج إلى الأقواس، ما عليك سوى كتابة اسم الأمر الذي تهتم به، وسيوفر لك أمر cmdlet هذا المعلومات الأساسية عنه. للحصول على شرح أكثر تفصيلاً للأمر، اكتب:

احصل على مساعدة -ممتلىء

إذا كنت بحاجة إلى مثال لكيفية استخدام نوع أمر معين:

احصل على مساعدة -مثال

2. الحصول على القيادة

هل تريد استرداد معلومات حول أمر معين، أو مجموعة من الأوامر، بسرعة؟ سوف يقوم أمر Get-Command cmdlet بذلك نيابةً عنك. هناك العديد من الخيارات داخل Get-Command، لكنك، كمستخدم أساسي لـ PowerShell، لا تحتاج إلى معظمها. فيما يلي بعض أوامر cmdlets الأساسية التي ستكون مفيدة، خاصة عند التنقل بين الأوامر المتوفرة.

إذا كنت تريد قائمة أوامر cmdlets محددة من نفس النوع:

الحصول على الأمر -

على سبيل المثال، ستطلب هذه العبارة المعقدة من جهاز الكمبيوتر الخاص بك عرض قائمة بجميع أوامر نوع cmdlet المتاحة وفرزها حسب الترتيب الأبجدي للاسم الموجود في اسمها:

الحصول على الأمر -اكتب أمر Cmdlet | فرز الكائن -اسم الخاصية| تنسيق الجدول -GroupBy Noun

يعد هذا مثالًا ممتازًا لأمر أكثر تعقيدًا من شأنه أن يجعل PowerShell ينفذ مهمة معقدة. بمجرد أن تفهم بناء الجملة، سترى أن استخدام PowerShell غالبًا ما يكون الأسرع والأسهل لإنجاز بعض الأشياء على جهاز الكمبيوتر الخاص بك.

إذا كنت تريد العثور على أمر محدد باسمه، فاكتب ببساطة:

الحصول على الأمر -الاسم

إذا كنت لا تعرف الاسم الدقيق للأمر الذي تبحث عنه، ولكنك تعرف جزءًا من الاسم، فيمكنك كتابة: 

الحصول على الأمر -الاسم -استخدام المطابقة الغامضة

سيقوم أمر cmdlet هذا بتكليف جهاز الكمبيوتر الخاص بك بالعثور على الأوامر التي تتطابق بشكل وثيق مع ما كتبته في الملف مجال. يمكنك أيضًا استخدام أمر cmdlet هذا إذا كنت عرضة للأخطاء الإملائية ولا تريد أن تنزعج من تصحيح نفسك طوال الوقت.

3. الحصول على المحتوى

إذا كنت تريد رؤية محتوى الملف، فاستخدم أمر Get-Content cmdlet. ستحتاج إلى تحديد الموقع الدقيق للملف المذكور حتى يتمكن جهاز الكمبيوتر الخاص بك من العثور عليه.

في المثال أعلاه، يمكنك رؤية محتوى ملف نصي اختباري تم إنشاؤه لهذا الغرض. يعد هذا أمرًا مباشرًا، ولكن إذا كنت تعرف ما يفعله، فيمكنك دمجه مع أوامر أخرى وتنفيذ مهام قوية حقًا من خلال Windows PowerShell.

4. احصل على العملية

سيوفر لك أمر Get-Process cmdlet معلومات حول العمليات الجارية حاليًا على جهاز الكمبيوتر الخاص بك. يمكنك رؤية استخدام الذاكرة ودورات وحدة المعالجة المركزية ومعرف العملية والسمات الأخرى. 

إذا قمت بإضافة اسم العملية إلى أمر cmdlet هذا، فيمكنك رؤية المعلومات الخاصة بعملية معينة. على سبيل المثال، إذا كنت تريد معلومات حول عملية تطبيق Discord، فاكتب ببساطة الحصول على الخلاف العملية.

يمكنك بدء العمليات أو إيقافها من خلال PowerShell بمجرد استبدال البادئة "Get" في بناء الجملة. لبدء العملية، اكتب:

عملية البدء  

لإيقاف العملية، اكتب:

عملية التوقف

5. الحصول على الخدمة

كمسؤول النظام، قد تجد Get-Service cmdlet مفيدًا جدًا. سيعرض أمر cmdlet البسيط هذا جميع الخدمات التي تعمل حاليًا على نظامك ويسمح لك بالتحكم فيها. وهذا يعني أنه يمكنك رؤية جميع البرامج التي تعمل حاليًا لتشغيل جهاز الكمبيوتر الخاص بك. 

الآن يمكنك استخدام اسم الخدمة للتحكم فيها. استخدم أوامر مثل إعادة تشغيل الخدمة لفك تلك المجمدة، خدمة محطة لوقفهم تماما، و إبدأ الخدمة لبدء لهم مرة أخرى.

6. الحصول على العنصر

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

الحصول على العنصر ج:

سيجلب لك هذا قائمة الملفات الموجودة على القرص الصلب "C:". يمكنك أن تكون أكثر تحديدًا وتبحث في جميع الأدلة الموجودة ضمن الملف الشخصي للمستخدم أو تتعمق أكثر في أدلة "المستندات" أو "التنزيلات". للقيام بذلك، اكتب:

الحصول على تيم C: المستخدمين *

إذا كنت بحاجة إلى استرداد عنصر فرعي من حاوية، مثل دليل النظام، فيمكنك استخدام الأمر cmdlet الحصول على لChildItem. سيُظهر لك هذا الأمر جميع الملفات والأدلة الموجودة داخل تلك الحاوية. كما هو الحال مع أمر Get-Item cmdlet، ستحتاج إلى تحديد مسار الحاوية.

لحذف العناصر، يمكنك استبدال اللاحقة "Get" بـ "Remove". سيسمح لك هذا بحذف كل شيء، بدءًا من الملفات والمجلدات وحتى مفاتيح التسجيل ووظائفه. يكتب إزالة بند. يمكنك تفصيل أمر cmdlet هذا وحذف الملفات المخفية و"للقراءة فقط" فقط أو حذف عناصر من مجلدات ومجلدات فرعية محددة.

7. تحويل إلى أتش تي أم أل

سيساعدك هذا الأمر في تحويل كائن .NET إلى ملف HTML يمكن عرضه في متصفحات الويب. هذا أمر cmdlet للإخراج مما يعني أنه يعمل بشكل رائع مع أوامر cmdlet الأخرى. ما عليك سوى إضافته إلى نهاية أوامر cmdlets الأخرى وتضمين مسار ملف محدد. 

على سبيل المثال، إذا كنت تريد إنشاء ملف HTML يعرض الاسم والمسار والشركة لجميع العمليات الحالية للكمبيوتر المحلي، فاكتب: 

الحصول على العملية | ConvertTo-Html - اسم الخاصية، المسار، الشركة - العنوان "معلومات العملية" | اسم الملف الخارجي file.htm

استبدل filename.htm بأي اسم ملف تريده.

لفتح الملف الذي تم إنشاؤه، استخدم استدعاء العنصر cmdlet المزيد . يجب أن تبدو المحتويات مثل الصورة أدناه.

8. تعيين سياسة التنفيذ

إذا كنت تريد تشغيل برامج PowerShell النصية المحلية، فسيتعين عليك تغيير سياسة التنفيذ الخاصة بـ PowerShell نفسه. على أجهزة الكمبيوتر التي تعمل بنظام Windows، تكون سياسة التنفيذ مقيدة دائمًا، وسوف تحتاج إلى تغييرها إلى RemoteSigned أو Unrestricted. على أجهزة الكمبيوتر التي لا تعمل بنظام Windows مثل Linux أو Mac، يتم تعيينه عادةً على غير مقيد، ولا يمكن تغييره. 

إذا كنت تريد معرفة المزيد حول سياسة تنفيذ PowerShell، فاكتب ببساطة:

تعليمات Set-ExecutionPolicy

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

لتعيين السياسة على RemoteSigned، ما عليك سوى كتابة:

مجموعة سياسة التنفيذ RemoteSigned

لتعيينه على النوع غير المقيد:

مجموعة سياسة التنفيذ غير مقيدة

للتحقق من الإعداد الحالي لسياسة التنفيذ، اكتب: 

الحصول على سياسة التنفيذ

نظرًا لأن سياسات التنفيذ جزء من استراتيجيات الأمان الخاصة بـ PowerShell، فسوف يطلب منك تأكيد التغيير. يكتب Y فقط إذا كنت متأكدًا من رغبتك في المتابعة.

9. حدد الكائن

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

لتحديد الكائنات حسب سمة الخاصية، ستحتاج إلى تحديد السمات مثل الاسم أو المعرف أو وحدة المعالجة المركزية. ويمكنك أيضًا تجميع السمات، ولكن يجب عليك فصلها بفواصل عند كتابة الأمر. لرؤية الأمر cmdlet لتحديد الكائن في نوع الإجراء:

الحصول على العملية | حدد الكائن -اسم عملية الخاصية، والمعرف، ووحدة المعالجة المركزية

سيقوم PowerShell بسرد جميع العمليات الحالية وسماتها، كما هو موضح أدناه.

يمكنك الآن استخدام الأمر -EpandProperty للحصول على معلومات تفصيلية حول السمة المحددة. إذا كنت تريد تفاصيل حول خاصية الوحدات النمطية لنوع السمة ProcessName:

احصل على عملية كروم | حدد الكائن - اسم عملية الخاصية - وحدات توسيع الملكية | قائمة التنسيق

يوجد إخراج "قائمة التنسيق" للأمر لجعل النتائج منسقة وقابلة للقراءة.

10. تصدير-CSV

في بعض الأحيان تؤدي أوامر PowerShell إلى قوائم طويلة، كما رأينا مع أمر Get-Command cmdlet. من الصعب قراءة القوائم الطويلة والكثير من المعلومات، وسوف تحتاج إلى ذلك بطريقة أكثر تنظيماً. للقيام بذلك، قم بتصدير كافة البيانات إلى ملف CSV. يمكنك القيام بذلك مباشرةً في PowerShell باستخدام وظيفة Export-CSV.

على سبيل المثال، رأينا أن الأمر cmdlet Get-Command يقدم لنا قائمة طويلة بجميع أوامر cmdlets المتاحة التي يمكننا استخدامها في PowerShell في تلك اللحظة. يمكنك الجمع بين Get-Command وExport-CSV لإنشاء قائمة مفصلة بقيم مفصولة بفواصل مثل الاسم والمصدر والإصدار الذي يمكن لتطبيقات مثل Excel التعرف عليه. 

للقيام بذلك، اكتب الأمر التالي في موجه أوامر PowerShell ولكن لاحظ أنه يمكنك تعيين أي مسار تريده، ويمكنك تسمية الملف الخاص بك بشكل مختلف:

الحصول على الأمر | حدد الاسم والمصدر والإصدار | export-csv D:AllCommands.csv

يمكنك الآن فتح القائمة في برنامج Excel، ويجب أن ترى شيئًا مشابهًا للصورة التالية.