دروس

Powershell: ما هو وأوامر comandos الأساسية والموصى بها

جدول المحتويات:

Anonim

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

سواء كان عليك إدارة الخوادم أو الأنظمة ، فإن PowerShell هو نسخة محسنة ومتقدمة من موجه الأوامر التقليدي. مهام ووظائف Windows Powershell هي في الأساس نفس المهام الموجودة في CMD ، (إرسال أوامر إلى Windows من خلال أوامر محددة) ، على الرغم من أنه يحتوي أيضًا على العديد من الوظائف الإضافية التي يمكن أن تكون مفيدة جدًا للمستخدم.

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

كانت هذه الأداة متوافقة بالفعل مع Windows XP ، ولكن من أجل استخدامها ، يجب تنزيلها وتثبيتها. الآن مع نظام التشغيل Windows 10 ، تم تثبيت Powershell مسبقًا بالفعل مع رؤية واضحة لتسهيل الوصول.

فهرس المحتويات

ما هو Windows Powershell؟

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

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

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

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

كيفية فتح ويندوز بوويرشيل

يمكن فتح أداة PowerShell بسرعة من خلال الوصول إلى وظيفة التشغيل المضمنة في Windows.

  • للقيام بذلك ، اضغط في الوقت نفسه على مفاتيح Windows + R. في مربع التشغيل الذي تم فتحه للتو ، اكتب "PowerShell" وانقر فوق "موافق" أو اضغط مباشرة على مفتاح Enter.

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

أوامر PowerShell الأساسية (برنامج تعليمي)

في PowerShell ، تسمى الأوامر "cmdlet" ، ويمكنك استخدام مفتاح tab لجعل Powershell يقوم بإكمال اسم cmdlet الذي تريد استخدامه تلقائيًا.

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

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

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

احصل على القيادة

إذا كنت تريد معرفة جميع أوامر cmdlets التي يقدمها PowerShell ، فيمكنك القيام بذلك عن طريق كتابة هذا الأمر في وحدة التحكم.

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

للحصول على قائمة الأوامر هذه ، من الضروري كتابة "Get-Command" متبوعًا بمعلمة محددة ، والتي سيتم الحصول على المعلومات من أمر cmdlet المعني. على سبيل المثال ، إذا كتبنا في Powershell "Get-Command * -help *" ، فسوف نرى سلسلة من الأوامر التي تقبل المعلمة "-help".

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

كتابة “Get-Command -Name في وحدة التحكم "نحصل على مجموعة من الأوامر التي تتضمن هذا الاسم المحدد. قد يحدث أنك لا تتذكر أو لا تعرف الاسم الصحيح لأمر cmdlet. في هذه الحالة ، يمكنك تضمين النجمتين على كل جانب من الاسم كما هو مذكور أعلاه ، على سبيل المثال ، "Get-Command -Name * set *" ، بحيث يمكنك رؤية قائمة أوامر cmdlets التي تتضمن مصطلح "set" في إسمك.

احصل على استضافة

يمنحك تنفيذ هذا الأمر إصدار Windows PowerShell الذي يستخدمه النظام.

احصل على التاريخ

يوفر هذا الأمر محفوظات لكافة الأوامر التي تم تنفيذها ضمن جلسة PowerShell والتي يتم تشغيلها حاليًا.

احصل على عشوائي

ينتج عن تنفيذ هذا الأمر رقم عشوائي بين 0 و 2،147،483،646.

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

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

لاستخدام أمر cmdlet هذا ، أدخل "الحصول على الخدمة" في وحدة التحكم ، أثناء استخدام أي من المعلمات الإضافية ، في بناء جملة مشابه للمثال التالي:

احصل على الخدمة | Where-Object {$ _. Status -eq "Running"}

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

إذا كنت تعرف بالفعل أي أمر تريد الحصول على معلومات عنه ، فإن استخدام Get-Service أكثر عملية بكثير من الانتقال إلى لوحة تحكم Windows والعمل من Windows GUI (واجهة المستخدم الرسومية).

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

يعد هذا الأمر مفيدًا جدًا للمستخدمين المبتدئين لـ Powershell ، ويقدم هذا الأمر مساعدة أساسية لمعرفة المزيد عن أوامر cmdlets ووظائفها.

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

وبنفس الطريقة ، فإن استخدامه ليس معقدًا على الإطلاق: عليك فقط كتابة "Get-Help" مصحوبًا بأمر cmdlet الذي تريد معرفة المزيد من التفاصيل عنه. لتوضيح استخدامه ، قد نبحث عن مزيد من المعلومات من cmdlet "Get-Process" ، وفي هذه الحالة سيكون كافياً لكتابة "Get-Help Get-Process".

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

احصل على التاريخ

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

"Get-Date 05.05.2009" ، إدخال التاريخ بتنسيق "dd.mm.aa". في حالة تنفيذ Get-Date وحده ، سيعطينا التاريخ والوقت الحاليين.

PS C: \ Users \ MiguePR> Get-Date السبت 27 يوليو 2019 12:00:40

نسخ البند

باستخدام هذا الأمر ، يمكنك نسخ المجلدات أو الملفات.

إذا كنت تتطلع إلى عمل نسخة من الملفات والأدلة على محرك التخزين الخاص بك ، أو إذا كنت بحاجة إلى نسخ المفاتيح أو إدخالات التسجيل ، فإن Copy-Item هو cmdlet الصحيح. وهو يعمل بشكل مشابه جدًا للأمر "cp" الموجود في موجه الأوامر ، على الرغم من أنه أفضل بكثير.

لهذا ، يجب استخدام الأمر Copy-Item لنسخ وتعديل اسم العناصر باستخدام نفس الأمر ، والذي يمكن من خلاله إنشاء اسم جديد للعنصر المذكور. في حالة رغبتك في نسخ وإعادة تسمية الملف "ProfesionalReview.htm" إلى "Proyectitosbuenos.txt" ، اكتب:

نسخ البند "C: \ Proyectos.htm" - الوجهة "C: \ MyData \ Proyectos.txt".

استدعاء القيادة

عندما تريد تشغيل برنامج نصي أو أمر PowerShell (محليًا أو عن بُعد ، على جهاز كمبيوتر واحد أو أكثر) ، سيكون "Invoke-Command" هو أفضل خيار لك. إنه سهل الاستخدام وسيساعدك على إدارة أجهزة الكمبيوتر الدفعية.

تحتاج إلى كتابة Invoke-Command بجوار البرنامج النصي أو الأمر مع موقعه بالضبط.

استدعاء التعبير

باستخدام Invoke-Expression ، يتم تنفيذ تعبير أو أمر آخر. إذا وجدت نفسك تدخل سلسلة إدخال أو تعبيرًا ، فسيقوم هذا الأمر أولاً بتحليله ثم تنفيذه. بدون هذا الأمر ، لا تُرجع السلسلة أي إجراء. يعمل Invoke-Expression محليًا فقط ، على عكس Invoke-Command.

لاستخدام هذا الأمر ، يجب كتابة Invoke-Expression معًا باستخدام تعبير أو أمر. على سبيل المثال ، يمكنك تعيين متغير "$ Command" بأمر يشير إلى cmdlet "Get-Process". من خلال تنفيذ الأمر "Invoke-Expression $ Command" ، ستعمل "Get-Process" بنفس الطريقة التي تعمل بها أوامر cmdlet على الكمبيوتر المحلي.

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

استدعاء WebRequest

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

لتنفيذ هذه المهام ، يجب استخدامه كـ Invoke-WebRequest مع معلماته. مع ذلك ، من الممكن الحصول على الروابط التي يمتلكها موقع ويب معين باستخدام بناء الجملة التالي:

(Invoke-WebRequest –Uri 'https://wwww.ebay.com'). الروابط

في هذه الحالة ، سيتم الحصول على الروابط من موقع eBay.

سياسة التنفيذ - التنفيذ

بينما يمكننا إنشاء البرامج النصية (.ps1) وبدء تشغيلها من PowerShell ، فإننا مقيدون بسبب مخاوف أمنية. ومع ذلك ، يمكن تعديل ذلك من خلال فئة الأمان باستخدام Set-ExecutionPolicy cmdlet.

ما عليك سوى كتابة Set-ExecutionPolicy بجوار أحد خيارات الأمان الأربعة لإجراء التغييرات المطلوبة:

  • مقيَّد الكل موقّع عن بعد موقّع غير مقيد

على سبيل المثال ، إذا أردنا تعيين مستوى الأمان المقيد ، فسنضطر إلى استخدام:

Set-ExecutionPolicy -ExecutionPolicy المقيدة

احصل على البند

في حالة البحث عن معلومات حول عنصر ذي موقع محدد ، مثل دليل على محرك الأقراص الثابتة ، فإن الأمر Get-Item هو الأمر المشار إليه لهذه المهمة.

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

على الجانب الآخر من Get-Item نجد الأمر cmdlet Remove-Item ، والذي يسمح بإزالة العنصر المحدد.

إزالة العنصر

إذا كنت ترغب في حذف عناصر مثل المجلدات والملفات والوظائف والمتغيرات ومفاتيح التسجيل ، فإن Remove-Item سيكون أفضل أمر cmdlet. الشيء المهم هو أنه يوفر معلمات لإدخال العناصر وإخراجها.

باستخدام الأمر cmdlet Remove-Item ، يمكنك إزالة العناصر من مواقع محددة باستخدام معلمات معينة. كمثال ، من الممكن إزالة الملف "Finanzas.txt" باستخدام الأمر التالي:

إزالة عنصر "C: \ MyData \ Finance.txt"

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

عندما تحتاج إلى كل شيء يحتوي عليه ملف نصي من حيث المحتوى في مسار معين ، افتحه واقرأه باستخدام محرر نصوص مثل المفكرة. باستخدام Windows PowerShell ، يمكنك استخدام الأمر Get-Content لتصفح محتويات الملف دون فتحه.

على سبيل المثال ، من الممكن الحصول على 20 سطرًا من النص مدرجًا في ملف "Proyectos.htm" ، والذي يمكنك كتابة:

Get-Content "C: \ Proyectos.htm" - إجمالي العدد 20

يشبه أمر cmdlet أمر cmdlet السابق Get-Item ، ولكن يمكننا من خلاله الحصول على ما تم تضمينه في الملف الذي أشرت إليه. إذا قمت بتشغيل هذا الأمر لملف بامتداد txt ، فسيكشف النص الكامل في هذا الملف بالكامل. إذا كنت تستخدمه في ملف صورة png ، فستحصل على الكثير من البيانات الثنائية التي لا معنى لها وغير القابلة للقراءة.

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

تعيين المحتوى

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

على سبيل المثال ، يمكنك استخدام الأمر cmdlet Set-Content لإضافة أو استبدال ما هو موجود في ملف بمحتوى آخر. أخيرًا ، يمكن دمجه مع الأمر المذكور أعلاه لحفظه باسم جديد (example.txt) كما يلي:

احصل على المحتوى "C: \ Proyectos.htm" - إجمالي العدد 30 | Set-Content "Example.txt"

احصل على المتغير

إذا كنت في PowerShell تحاول استخدام المتغيرات ، فيمكن القيام بذلك باستخدام الأمر cmdlet Get-Variable ، والذي ستتمكن من خلاله من عرض هذه القيم. يعرض هذا الأمر القيم في الجدول ، والتي يمكن استخدام أحرف البدل فيها وتضمينها واستبعادها منها.

لاستخدامه عليك فقط كتابة "Get-Variable" مصحوبًا بمعلماته وخيارات أخرى. على سبيل المثال ، إذا كنت تريد معرفة قيمة المتغير "خصم" ، اكتب ما يلي:

Get-Variable - اسم "الخصم"

متغير الضبط

يمكن تعيين قيمة المتغير أو تعديلها أو إعادة تهيئتها باستخدام أمر cmdlet هذا. لتعيين قيمة متغير الحالة السابقة ، يجب كتابة ما يلي:

Set-Variable -Name "discount" -Value "تم تعيين القيمة هنا"

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

غالبًا ما نستخدم Task Manager (مدير المهام) لاكتشاف العمليات التي تعمل على جهاز الكمبيوتر الخاص بنا بالضبط. في PowerShell ، يمكن لأي مستخدم معرفة ذلك عن طريق تشغيل أمر cmdlet هذا ، والذي سيحصل من خلاله على قائمة العمليات النشطة حاليًا.

يشبه الأمر cmdlet Get-Process بعضًا من الحصول على الخدمة ، على الرغم من أنه في هذه الحالة يوفر معلومات حول العمليات.

بدء العملية

باستخدام أمر cmdlet هذا ، يسهل Windows PowerShell تشغيل العمليات على الكمبيوتر.

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

بدء العملية -FilePath "احسب" –Verb

وقف العملية

باستخدام أمر cmdlet هذا ، يمكنك إيقاف العملية ، سواء تم البدء فيها بواسطتك أو بواسطة مستخدم آخر.

بالاستمرار في مثال الآلة الحاسبة ، إذا كنت ترغب في مقاطعة عمليات التشغيل بالكامل ، فاكتب ما يلي في PowerShell:

وقف العملية - اسم "احسب"

بدء الخدمة

إذا كنت بحاجة إلى بدء خدمة على جهاز الكمبيوتر ، فإن أمر cmdlet لـ Start-Service هو المذكور في هذه الحالة ، حيث يعمل بنفس الطريقة حتى إذا تم تعطيل الخدمة المذكورة على جهاز الكمبيوتر.

لبدء خدمة Windows Search ، يتم استخدام بناء الجملة التالي:

بدء الخدمة - اسم "WSearch"

إيقاف الخدمة

باستخدام هذا الأمر ، يمكنك إيقاف الخدمات التي تعمل على الكمبيوتر.

إيقاف الخدمة - اسم "Wsearch"

بهذا الطلب ستقوم بإيقاف خدمة "Windows Search".

خروج

يمكنك الخروج من PowerShell باستخدام الأمر خروج.

استنتاج حول Windows PowerShell

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

هذه المعلمات مفيدة عندما تكتب Cmdlets أو Light Scripts الخاصة بك ، وهي طريقة جيدة للحصول على أقصى استفادة من وظائف PowerShell.

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

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

دروس

اختيار المحرر

Back to top button