Powershell Cmdlets التي ستعمل على تحسين مهارات إدارة Windows لديك

Powershell Cmdlets التي ستعمل على تحسين مهارات إدارة Windows لديك

يعد Powershell طريقة مثالية للمبرمج الجديد لبدء العمل على Windows. Powershell هي أداة سطر أوامر متساوية الأجزاء ولغة البرمجة النصية. يمنحك القدرة على أتمتة جهاز الكمبيوتر الخاص بك عبر نفس الأوامر التي تستخدمها لإدارتها . إذا كان لديك نظام Windows حديث ، فلديك بالفعل Powershell. معظم استخداماته تتمحور حول Windows ، ولكن يمكنك أيضًا تثبيت Powershell على جهاز Mac أو Linux.





العمل مع بوويرشيل

هناك طريقتان لاستخدام Powershell. توجد نافذة سطر الأوامر الأساسية ، والتي تُستخدم لتشغيل الأوامر أو استدعاء البرامج النصية المكتوبة مسبقًا. ثم هناك ISE ، الذي يجمع بين نافذة CLI وبيئة التطوير الأساسية. باستخدام هذا ، يمكنك كتابة واختبار البرامج النصية الخاصة بك.





يحتوي ISE على قائمة أوامر قابلة للبحث ، ويمكنك استخدام النافذة الطرفية الخاصة به دون فتح ملف. تتيح لك قائمة الأوامر إنشاء الأمر وإدخاله. إذا كنت تقوم بتطوير أكثر تقدمًا ، فقم بتثبيت Microsoft Visual Studio Code. يتضمن الرمز دعمًا للتحكم في إصدار Git ولغات أخرى.





تعتبر Powershell فريدة من نوعها من حيث أنها مبنية بالكامل من الأوامر ، وتطلق عليها Microsoft اسم Cmdlets. هذه الأوامر هي نفسها إذا كنت تعمل عبر سطر الأوامر أو كتابة نصوص معقدة. لذا أثناء استخدامك لهذه الأوامر ، يمكنك التفكير في كيفية تجميعها معًا لإنشاء البرامج النصية الأولى.

الأساسيات: Get-Command و Get-Help و Get-Member

تتخذ جميع أوامر Powershell شكل Verb-Noun. الأفعال هي عادة: احصل عليه وقم بتعيينه وجديده .



Get-Command يسمح لك بمشاهدة كل أمر متاح. عند تشغيل Get-Command ، سترى أن هناك الكثير من الأوامر التي تبدأ بها.

بالتعمق أكثر من مجرد أسماء أوامر cmdlets ، تبدأ في رؤية أن لديهم جميعًا بنية متشابهة. أنت تستدعيهم بالاسم ، تمامًا كما فعلت مع Get-Command. يؤدي استخدام المعلمات إلى تغيير المعلومات التي تحصل عليها. ومع ذلك ، إذا كنت قد استخدمت الأمر مع الخيارات الافتراضية فقط ، كيف يمكنك معرفة كيفية استخدام المعلمات المتقدمة؟





باستخدام احصل على مساعدة يعرض الأمر cmdlet مع Get-Command مزيدًا من المعلومات حول الأمر cmdlet. نستخدم الأمر cmdlet بالصيغة التالية:

Get-Help Get-Command

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





إذا كنت تريد مشاهدة الأمثلة فقط ، فيمكنك تشغيل:

Get-Help Get-Command -Examples

يقوم هذا الأمر cmdlet بإرجاع الأمثلة فقط من ملف التعليمات. هذه الأمثلة مفيدة جدًا لأنها تتضمن أوصافًا. يشرح نص التعليمات هذا ما يفعله الأمر cmdlet والمعلمات عند التشغيل.

إذا كنت تريد إخراج ملف التعليمات في نافذة منفصلة ، فيمكنك استخدام -فرجي شباك . لذلك إذا قمت بتشغيل:

Get-Help Get-Command -ShowWindow

ينبثق Powershell من نافذة بها ملف المساعدة الكامل. لا تحتاج إلى استخدام المعلمة Full هنا ، حيث تسحب النافذة المقالة الكاملة.

كلما تقدمت أكثر مع Powershell ، ستجد أنك تستخدم Get-Member في كثير من الأحيان. إنها طريقة سهلة لمعرفة الحقول المتوفرة من البيانات التي تم إرجاعها ، بالإضافة إلى الطرق الأخرى التي يمكنك تشغيلها. في كثير من الأحيان ، سيكون لأوامر cmdlets ملف -ملكية المعلمة للسماح لك باستدعاء هؤلاء.

العمل مع الملفات: Get-ChildItem و Remove-Item و Move-Item و Copy-Item

الآن بعد أن أصبحت لديك فكرة عن كيفية عمل أوامر cmdlets وكيفية الحصول على المساعدة ، فلنقم بإجراء تغييرات. يمكنك الحصول على محتويات أي مجلد باستخدام ملف Get-ChildItem أمر. على سبيل المثال ، يمكنك الحصول على ملفات محرك الأقراص بأكمله باستخدام حرف محرك الأقراص. يدخل:

Get-ChildItem E:

وهو اختصار لـ:

Get-ChildItem -Path E:

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

  • يقرأ فقط
  • مختفي
  • نظام
  • الدليل
  • أرشيف
  • جهاز
  • طبيعي
  • مؤقت
  • ملف متفرقة
  • ReparsePoint
  • مضغوط
  • غير متصل على الانترنت
  • NotContentIndexed
  • مشفر

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

Get-ChildItem -Path E: -Recurse

تظهر ملفاتك بعد ذلك كقوائم منفصلة لكل مجلد في المسار.

للحد من البيانات التي يتم إرجاعها ، يمكنك استخدام بعض المعلمات المختلفة: -ملف و -مختفي ، و -يقرأ فقط . إذا كنت تبحث عن تصفية أسماء الملف ، يمكنك استخدام أحرف البدل في معلمة المسار. لإرجاع جميع ملفات .doc في دليل ، أدخل:

Get-ChildItem -Path E:*.doc

أضف مرة أخرى -يعيد تنفيذ إذا كنت تريد كل شيء من المجلدات الفرعية أيضًا.

إذا كنت تريد حذف ملف ، فاستخدم:

Remove-Item -Path E:OldFile.txt

لتخطي تأكيد كل ملف ، أضف المعلمة -تأكيد $ false (يحتوي Powershell على ثابتين للقيم المنطقية: $ true و $ false). لفرض إزالة ملفات القراءة فقط أو الملفات المخفية ، استخدم ملحق -القوة معامل.

نقل الملفات بنفس السهولة. لنقل كل شيء من محرك الفلاش إلى محرك الأقراص المحلي في مجلد ، استخدم:

Move-Item -Path E:* -Destination C:FlashDriveArchive

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

المراقبة والعمل مع العمليات والخدمات

كل يعرف مستخدم Windows مدير المهام . ومع ذلك ، هناك طريقة أسرع لمعرفة العمليات الجارية حاليًا من Powershell ، الحصول على العملية . إذا كنت تريد معرفة ما تعنيه جميع الإدخالات في هذا الجدول ، فقم بتوجيه الأمر إلى الحصول على عضو . أدخل الأمر cmdlet:

Get-Process | Get-Member

يقوم Get-member بإخراج قائمة بالطرق والخصائص المرتبطة بـ Get-Process. المعلومات الموجودة في الجزء العلوي هي ما يهمك. ترى الأنواع المختلفة من الذاكرة لها أسماء مستعارة.

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

من أين تأتي منتجات الرغبات
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(هناك المزيد من المعلومات حول تحديد الكائن وفرز الكائن في القسم التالي.)

الآن بعد أن أصبح لديك المعرف من أمر Get-Process الخاص بك ، يمكنك إيقافه باستخدام Stop-Process cmdlet. لذلك إذا وجدت أن عملية Chrome تستهلك جميع مواردك ، فابحث عن المعرف في الأمر السابق. ثم اركض:

Stop-Process -ID 45960

يحل محل 49560 مع معرف خنزير الموارد الخاص بك.

باستخدام مسار الملف ، يمكنك بدء عملية باستخدام Powershell. لتشغيل Chrome ، قم بتشغيل الأمر التالي:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe'

(يجب أن يكون لديك علامات الاقتباس حول مسار الملف بسبب المسافات.) -قائمة الوسيلة تسمح لك المعلمة بتمرير خيارات سطر الأوامر إلى التطبيق. في حالة Chrome ، يمكنك إجباره على البدء في وضع التصفح المتخفي باستخدام ملف --incognito علم. أمر cmdlet بأكمله هو:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe' -ArgumentList '--incognito'

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

العمل مع البيانات: فرز الكائن ، تحديد الكائن ، أين الكائن

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

أي شيء بين قوسين يعمل أولاً. قم بإنشاء مصفوفة بسيطة باستخدام:

$(Get-Random), $(Get-Random), $(Get-Random)

تأكد من ملاحظة الفواصل التي تفصل القيم. حتى ترى الأرقام العشوائية التي تم فرزها ، قم بتشغيل:

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

يقوم الأمر cmdlet بإخراج الأرقام من الأصغر إلى الأكبر ، إذا كنت تريد عكسها ، فقم بإضافتها - تنازلي .

عند توجيه أوامر cmdlets إلى Get-Member ، توجد خصائص أكثر من الإخراج الافتراضي. يمكنك تحديد خصائص معينة باستخدام حدد الكائن .

تمامًا مثل Sort-Object ، يمكنك استخدام Select-Object عبر أمر cmdlet ذي الأنابيب. على سبيل المثال ، لإنشاء جدول الخدمات وحالتها ، استخدم:

Get-Service | Select-Object DisplayName, Status

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

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

Get-Service | Where-Object Status -eq 'Running'

الذي - التي -مكافئ في المقارنة هو Powershell = . في Powershell ، تقوم بإجراء مقارنات مع مجموعات الحروف:

  • مكافئ: يساوي
  • ne: لا يساوي
  • لتر: أقل من
  • gt: أكبر من
  • ge: أكبر من أو يساوي
  • le: أقل من أو يساوي
  • مثل: استخدم في مقارنات أحرف البدل

تعليمات التنسيق: تنسيق الجدول وتنسيق القائمة.

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

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

من سطر الأوامر إلى البرمجة النصية: الخطوات التالية

بمجرد أن تشعر بالراحة ، فإن البرمجة النصية هي مسألة إدخال أوامر cmdlets في ملف نصي وحفظه. إذا كنت قلقًا بشأن تجربة البرمجة النصية ، فلا تقلق. تمتلك Microsoft قدرًا هائلاً من الوثائق على كل أمر cmdlet. هذا يتجاوز وثائق المساعدة الطويلة بالفعل ، لذا تأكد من مراجعة Technet [لم يعد متوفرًا].

إذا كنت تتعلم Powershell ، فأخبرنا في التعليقات بما أنت متحمس لفعله. إذا كان لديك المزيد من الخبرة ، فنحن نود أن نسمع المزيد عن الموضوعات الأكثر تقدمًا التي ترغب في تغطيتها.

يشارك يشارك سقسقة بريد الالكتروني احذف ملفات ومجلدات Windows هذه لتحرير مساحة على القرص

هل تحتاج إلى إفراغ مساحة القرص على جهاز الكمبيوتر الذي يعمل بنظام Windows؟ فيما يلي ملفات ومجلدات Windows التي يمكن حذفها بأمان لتحرير مساحة على القرص.

اقرأ التالي
مواضيع ذات صلة
  • شبابيك
  • برمجة
  • بوويرشيل
  • البرمجة النصية
نبذة عن الكاتب مايكل ماكونيل(44 مقالة منشورة)

لم يستخدم مايكل جهاز Mac عندما كان محكومًا عليه بالفشل ، ولكن يمكنه كتابة التعليمات البرمجية في Applescript. لديه درجات علمية في علوم الكمبيوتر واللغة الإنجليزية. كان يكتب عن أجهزة Mac و iOS وألعاب الفيديو لفترة من الوقت الآن ؛ وقد كان قردًا في مجال تكنولوجيا المعلومات خلال النهار لأكثر من عقد من الزمان ، متخصصًا في البرمجة النصية والافتراضية.

المزيد من Michael McConnell

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك