18 أوامر Powershell الأكثر فائدة لمسؤولي Windows

18 ديسمبر 2021 19859 الآراء أوامر Powershell الأكثر فائدة

في منطقة S هذه ، يشارك فيكتور قائمته النهائية لأوامر PowerShell الأكثر فائدة لمسؤولي النظام. لكل أمر ، يشرح بناء الجملة والمعلمات. ثم اختم ببعض الأمثلة.

في منطقة S هذه ، سأستخدم أوامر PowerShell و PS و PowerShell Cmdlets و Cmdlets بالتبادل.

تصفح مواضيع المنشور

أوامر Powershell الأكثر فائدة للعثور على تعليمات Cmdlets والحصول عليها

لا يمكنك التحدث عن أوامر PowerShell الأكثر فائدة دون تعلم كيفية العثور عليها. فيما يلي أوامر PowerShell التي ستساعدك في العثور على Cmdlets.

Get-Command

يعد Get-Command Cmdlet أول وأهم PS يجب أن يتعلمه مبتدئ PowerShell ويعرف كيفية استخدامه. لماذا ا؟ يساعدك في العثور على أوامر PowerShell Cmdlets أخرى. ما هو الأمر الذي يمكن أن يكون أكثر أهمية من الأمر الذي يمكنه القيام بذلك؟

للعثور على جميع أوامر PS في جهاز الكمبيوتر الخاص بك ، ما عليك سوى تنفيذ هذا الأمر أدناه:

Get-Command
معظم أوامر بوويرشيل المفيدة

فهم نتائج Get-Command Cmdlet

هناك أربعة أعمدة في نتائج Get-Command Output

  1. نوع الأوامر : يخبرك هذا ما إذا كان الأمر اسمًا مستعارًا أم Cmdlet أم دالة.
  2. اسم : الاسم هو الأمر الفعلي الذي تقوم بتنفيذه.
  3. الإصدار : هذا هو إصدار بوويرشيل
  4. مصدر : وحدة الأمر PS.

باستخدام هذه المعلومات ، يمكنك تصفية النتائج من Get-Command. لنفترض أنك تريد رؤية أوامر PowerShell التي تحتوي على كلمة EventLog ، سيؤدي تشغيل الأمر أدناه إلى إنجاز المهمة:

Get-Command -Name *EventLog

لاحظ أين أضفت العلامات النجمية. هذا لأنني أدرك ذلك
سجل الأحداث هو جزء الاسم من Cmdlets. ومع ذلك ، إذا كنت لا تعرف حتى أنه يمكنك محاولة إضافة العلامات النجمية في البداية ثم جرب النهاية.

يوجد أدناه نتيجة الأمر السابق.

معلمات Get-Command

أخيرًا ، قبل المضي قدمًا ، دعنا نناقش معلمات Get-Command Cmdlet.

للحصول على جميع المعلمات والمعلومات حول أمر Get-Command ، قم بتنفيذ هذا الأمر أدناه:

Get-Help Get-Command -Full

سيعطيك هذا جميع المعلومات المتعلقة بـ Get-Command Cmdlet.

سأناقش Cmdlet Get-Help بعد ذلك.

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

بينما يعثر Get-Command Cmdlet على Cmdlet ، فأنت بحاجة إلى أن يمنحك الأمر Get-Help PowerShell المعلومات التي تحتاجها لتشغيل الأمر.

أسهل طريقة لاستخدام Get-Help Cmdlet هي إدخال Get-Help متبوعًا بالأمر الذي تريد معلومات عنه. للعثور على مزيد من المعلومات حول Get-EventLog Cmdlet ، قم بتشغيل الأمر أدناه:

Get-Help Get-EventLog

سيعطيك هذا المعلومات الأساسية حول Get-EventLog PowerShell Command. انظر النتيجة أدناه:

بعض المعلمات المهمة لأمر الحصول على المساعدة

مثل أي PowerShell Cmdlet آخر ، يحتوي Get-Help Cmdlet على عدد من المعلمات. فيما يلي أهم المعلمات التي ستحتاجها.

  1. -مفصلة : ال مفصلة تمنحك المعلمة الأمر SYNTAX و PARAMTERS و ALIASES و REMARKS.
  2. -ممتلئ : يقدم The Full معلومات مماثلة مقدمة من مفصلة مع مزيد من المعلومات حول كل معلمة
  3. -أمثلة : يعطي أمثلة على كيفية استخدام Cmdlet. يمكن أن يكون هذا مفيدًا جدًا إذا لم تستخدم Cmdlet مطلقًا من قبل وفي حيرة من كيفية المتابعة.
  4. -متصل : يفتح صفحة التعليمات الفورية الخاصة بـ Cmdlet.
لرؤية معلمات PS Cmdlet ، اكتب Cmdlet في PS ، واضغط على مفتاح المسافة ، واكتب الواصلة - متبوعًا بمفتاح علامة التبويب. أثناء الضغط على مفتاح tab ، سوف تقوم بالتمرير خلال المعلمات المتاحة.

أوامر Powershell الأكثر فائدة لإدارة الملفات والمجلدات

الآن بعد أن عرفت كيفية العثور على أوامر PowerShell ، يتيح لك الوصول إلى الغطاء. المجموعة التالية من أوامر powerhell الأكثر فائدة هي Cmdlets لمساعدتك في إدارة الملفات والمجلدات.

Get-ChildItem

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

Get-ChildItem c:/

سيؤدي ذلك إلى سرد كافة مجلدات المستوى الأعلى. لسرد جميع الملفات ، تتضمن المجلدات التي تتضمن مجلدات فرعية ، استخدم - يعيد تنفيذ معامل.

نصيحة محترف
يمكنك دمج Get-ChildItem Cmdlet مع Cmdlet الأخرى لحساب حجم كل مجلد في دليل محدد.

نسخ العنصر ونقل العنصر

يمكنك استخدام Get-ChildItem Cmdlet لقائمة العناصر في مجلد ، ثم توجيه النتيجة إلى Copy-Item Cmdlet لنسخ العناصر إلى موقع جديد. الأمر أدناه سيفي بالغرض:

Get-ChildItem C:Dropbox | Copy-Item -Destination C:NewFolder
سيقوم الأمر بوويرشيل أعلاه بنسخ المجلدات والملفات ذات المستوى الأعلى فقط - ولن يقوم بنسخ المجلدات الفرعية والملفات. لنسخ جميع الملفات والمجلدات بما في ذلك المجلدات الفرعية ، قم بتضمين - يعيد تنفيذ المعلمة في الأمر Get-ChildItem كما هو موضح أدناه:
Get-ChildItem C:Dropbox -Recurse | Copy-Item -Destination C:NewFolder

بينما يقوم Copy-Item Cmdlet بنسخ العناصر من موقع إلى آخر ، يقوم Move-Item Cmdlet بنقل العنصر.

إزالة بند

هذا الأمر Cmdlet يحذف العناصر المحددة. مثل Copy-Item و Move-Item Cmdlets ، يمكنك توجيه إخراج Get-ChildItem إلى Remove-Item.

استخدم Remove-Item Cmdlet بحذر لأنه يمكنه حذف جميع الملفات والمجلدات في جهاز الكمبيوتر الخاص بك بما في ذلك ملفات Windows! نصيحة محترف
عن طريق تمرير إخراج Get-ChildItem إلى Remove-Item ، يمكنك إنشاء برنامج نصي بسيط يقوم بحذف بعض ملفات السجل على أسس عادية. يمكنك جدولة PS النصي للتشغيل في الوقت المحدد باستخدام Windows Scheduler.

أوامر Powershell الأكثر فائدة للإبلاغ

توجد 3 مجموعات من أوامر PowerShell التي يمكنك استخدامها لتصدير العناصر إلى CVS ، والتصدير إلى ملف نصي وإلى ملفات HTML. سنناقش هذه الثلاثة التالية.

تصدير- CSV

يحول Export-Csv مجموعة من السلاسل إلى CSV ويحفظها في ملف. هذا Cmdlet مهم جدًا في إعداد التقارير.

لتوضيح استخدام Export-CSV ، قم بتشغيل الأمر أدناه:

Get-Command -Verb Export

ها هي نتيجة الأمر.

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

يمكنك توجيه إخراج الأمر السابق إلى Export-CSV لإنشاء تقرير CVS للنتائج الموضحة في الصورة السابقة.

هنا هو الأمر لإنجاز هذه المهمة.

Get-Command -Verb Export | Select-Object CommandType, Name, Version, Source | Export-Csv -NoTypeInformation -Path C:NewFolderExportCommands.CSV

لاحظ أنه كان عليّ تضمين اسم ملف CSV في المسار. لدي أيضًا معلمة أخرى -لا نوع المعلومات . لمعرفة المزيد حول معلومات NoType ، اقرأ هذه المقالة PowerShell NoTypeInformation: التطبيقات والاستخدامات.

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

كمرجع لك ، يوجد أدناه إخراج ملف CSV.

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

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

خارج الملف

يرسل ملف Out-file Cmdlet الإخراج إلى ملف نصي

سيقوم الأمر أدناه بتصدير الخروج من Get-Command PowerShell Cmdlet إلى ملف نصي بدلاً من CSV:

Get-Command -Verb Export | Select-Object CommandType, Name, Version, Source | Out-File C:NewFolderExportCommands.txt

ها هي النتيجة في ملف نصي: نفس التقرير ، الآن في ملف نصي! كم هو جيد ذلك!

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

Get-Command -Verb Export | Select-Object CommandType, Name, Version, Source | Out-File C:NewFolderExportCommands.txt -Append

أوامر Powershell الأكثر فائدة لإدارة العمليات

مجموعة أخرى من أوامر PowerShell الأكثر فائدة لمسؤولي Windows هي Cmdlets لإدارة عمليات Windows. دعونا ننظر إليهم.

الحصول على العملية

يسرد PowerShell Cmdlet جميع العمليات التي تعمل على جهاز كمبيوتر محلي. يمكنه أيضًا تشغيل العمليات على كمبيوتر بعيد - باستخدام - اسم الحاسوب معامل.

ومع ذلك ، عند تشغيل Get-Process PowerShell Cmdlet بدون أي معلمة ، فإنها تُرجع جميع العمليات التي تعمل على الكمبيوتر المحلي. لتجربة ذلك ، قم بتنفيذ الأمر أدناه. تظهر النتيجة في الصورة أدناه.

Get-Process

أوامر بدء العملية وإيقاف العملية بوويرشيل

يمكن أن يعمل أمر Get-Process PowerShell مع أوامر PowerShell Cmdlets الخاصة ببدء العملية وإيقاف العملية لبدء أو إيقاف عملية أو مجموعة من العمليات.

لنفترض أنك نفذت أمر Get-Process PowerShell ولكنك ترغب في إيقاف عملية بمعرف عملية محدد 10500 ، فإن الأمر أدناه سيؤدي المهمة.

Get-Process -Id 10500 | Stop-Process
تحذير!
استخدم Stop-Process PowerShell Cmdlet بحذر لأن إيقاف العملية الخاطئة قد يجعل جهاز الكمبيوتر الخاص بك غير مستقر.

لبدء العملية ، قم بتوصيل إخراج الأمر Get-Process PowerShell إلى Stop-Process PowerShell Cmdlet.

أوامر PowerShell الأكثر فائدة لإدارة سجلات الأحداث

تعد إدارة سجل الأحداث من أهم المهام لمسؤولي Windows. لذلك ، ستساعدك المجموعة التالية من أوامر PowerShell في إدارة سجلات الأحداث.

الحصول على سجل الأحداث

يحصل Get-EventLog PowerShell Cmdlet على الأحداث في سجل أحداث محدد. يمكنك الحصول على الأحداث في جهاز كمبيوتر محلي أو بعيد. للحصول على الأحداث من جهاز كمبيوتر بعيد ، استخدم - اسم الحاسوب المعلمة لتحديد الكمبيوتر البعيد. ومع ذلك ، لاحظ أنك ستحتاج إلى الأذونات الصحيحة للوصول إلى الكمبيوتر البعيد.

للحصول على آخر 5 أحداث تم تسجيلها في سجل أحداث النظام ، قم بتنفيذ الأمر أدناه

Get-EventLog -LogName System -Newest 5 
نصيحة محترف
يمكن استخدام الأمر الأخير لأغراض استكشاف الأخطاء وإصلاحها.

سجل الأحداث واضح

كما تتوقع ، يوجد المزيد من Cmdlets لسجل الأحداث ولكننا سنغطي هذا 2 لهذا البرنامج التعليمي.

مسح- EventLog مسح كافة الأحداث في سجل الأحداث المحدد. يمكن لـ Cmdlet مسح سجلات الأحداث على كل من أجهزة الكمبيوتر المحلية والبعيدة.

يمسح الأمر أدناه جميع الأحداث التي تحمل اسم Windows PowerShell من الكمبيوتر المحلي

Clear-EventLog 'Windows PowerShell'
لتنفيذ الأمر أدناه ، تحتاج إلى فتح PowherShell كمسؤول - انقر بزر الماوس الأيمن وحدد تشغيل كمسؤول.

أوامر PowerShell الأكثر فائدة للحصول على معلومات حول جهاز الكمبيوتر الخاص بك

إذا كنت بحاجة إلى جمع بيانات حول أجهزة الكمبيوتر الموجودة على شبكتك - اسم الكمبيوتر ، وإصدار BIOS ، وحجم ذاكرة الوصول العشوائي ، ومعلومات القرص ، وما إلى ذلك - فإن Get-WmiObject POwerShell Cmdlet هو صديقك! دعنا نستكشف هذا Cmdlet القوي ، فهل نحن.

الحصول على WmiObject

يحتوي Get-WmiObject على معلمة تسمى - فصل هذا يسمح لك بتحديد كائن WMI الذي ترغب في الوصول إليه. سيحصل الأمر أدناه على قائمة بفئات WMI ،
Get-WmiObject -List -Class Win32*

بمجرد معرفة اسم فئة WMI ، يمكنك تنفيذ Get-WmiObject لإرجاع معلومات مفيدة من كمبيوتر محلي أو بعيد. فيما يلي قائمة بأهم فئات WMI التي قد تحتاجها

  • Win32_PhysicalMemory - معلومات حول الذاكرة المتوفرة
  • Win32_Processor - معلومات المعالج
  • Win32_LogicalDisk - معلومات محرك القرص المنطقي
  • Win32_DiskDrive - معلومات القرص الفعلي
  • Win32_OperatingSystem - معلومات حول نظام التشغيل
  • Win32_BaseBoard - الحصول على معلومات حول اللوحة الأم

للحصول على معلومات حول نظام التشغيل ، قم بتشغيل الأمر أدناه:

Get-WmiObject -Class Win32_OperatingSystem

أوامر PowerShell الأكثر فائدة للاتصال بجلسات PowerShell عن بُعد

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

إليك الأوامر التي ستحتاجها.

أوامر الدخول إلى PSSession والخروج من PSSession PowerShell

يسمح لك الأمر Enter-PSSession PowerShell ببدء جلسة PS عن بُعد بشكل تفاعلي على جهاز كمبيوتر واحد. عند الانتهاء من الكمبيوتر البعيد ، قم بإنهاء الجلسة باستخدام الأمر Exit-PSSession.

لفتح جلسة PS عن بُعد باستخدام جهاز كمبيوتر يسمى Computer1 ، قم بتشغيل الأمر أدناه:

Enter-PSSession Computer1

استدعاء الأمر

بينما يسمح لك Enter-PSSession PowerShell Cmdlet بتنفيذ الأوامر على كمبيوتر بعيد واحد ، يسمح لك Invoke-Command Cmdlet بتنفيذ الأوامر على جهاز كمبيوتر بعيد واحد أو أكثر.

إذا كنت ترغب في تنفيذ أمر Get-Process على الكمبيوتر 1 ، أو الكمبيوتر 2 ، أو الكمبيوتر 3 ، فنفّذ هذا الأمر:

Invoke-Command -ComputerName Computer1, Computer2, Computer3, -ScriptBlock {Get-Process}

جديد PSSession

يسمح لك New-PSSession PowerShell Cmdlet بفتح جلسة عمل دائمة باستخدام كمبيوتر بعيد. نظرًا لأن الجلسة مستمرة ، فمن المستحسن إضافة الجلسة البعيدة في متغير.

لفتح جلسة PS عن بعد مستمرة على أجهزة الكمبيوتر ، الكمبيوتر 1 ، الكمبيوتر 2 ، نفّذ الأمر أدناه:

$session = New-PSSession -ComputerName Computer1, Computer2

مع إنشاء جلسة PS وتخزينها في متغير الجلسة $ ، يمكنك تنفيذ أوامر PowerShell العادية في الجلسة البعيدة باستخدام
استدعاء الأمر PowerShell Cmdlet.

كمثال أخير في جلسات PowerShell البعيدة ، لتنفيذ Get-Process على أجهزة الكمبيوتر البعيدة ، قم بتشغيل الأمر:

Invoke-Command -Session $session {$Processes = Get-Process}
لقد قمت بتخزين نتائج أمر Get-Process في متغير يسمى $ Processes نظرًا لوجود العديد من أجهزة الكمبيوتر. يؤدي تخزين النتيجة في متغير إلى تسهيل معالجة البيانات. يمكنك استخدام حلقة aForEach لاستخراج البيانات وتنظيمها.

إليكم الأمر - قائمتي النهائية لأوامر PowerShell الأكثر فائدة! أتمنى أن تكون قد وجدت هذه المنطقة S مفيدة.

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

أخيرًا ، لمزيد من مناطق PowerShell S ، قم بزيارة صفحة Windows PowerShell الخاصة بنا.