5 Cmdlets لتحصل على البدء مع PowerShell
أصبحت PowerShell بسرعة لغة البرمجة النصية المفضلة و CLI لمستخدمي Power بالإضافة إلى Pro Pros. من المفيد تعلم بعض الأوامر للبدء ، لذا لدينا 5 أوامر cmdlets مفيدة لتعلم اليوم.
الحصول على-القيادة
يُعد Get-Command أحد أوامر cmdlets الأكثر فائدةً في PowerShell بالكامل ، حيث سيساعدك على التحكم في PowerShell عن طريق السماح لك بالبحث عن أوامر cmdlets معينة. استخدام ميزة Get-Command من تلقاء نفسه ليس مفيدًا تمامًا نظرًا لأنه سوف يبث كل أمر تملكه PowerShell.
ولكن من هذا يمكننا أن نرى أن الكائنات التي مخرجات PowerShell لها خاصية الاسم و ModuleName. باستخدام هذه المعلومات ، يمكننا تحفيز بحثنا عن طريق البحث عن أوامر cmdlets التي تحتوي على مصطلحات معينة. على سبيل المثال ، إذا أردت العثور على جميع أوامر cmdlets التي تحتوي على كلمة "IP" ، فيمكنني القيام بذلك:
Get-Command -Name * IP *
وكما ترى ، لا يزال هناك عدد قليل من النتائج ، فإن خيارنا التالي هو البحث داخل وحدة نمطية محددة. في حالتنا سوف أختار وحدة NetTCPIP.
Get-Command -Module NetTCPIP -Name * IP *
احصل على مساعدة
بمجرد العثور على الأمر cmdlet الذي تبحث عنه باستخدام Get-Command ، ستحتاج إلى معرفة البنية وكيفية استخدام هذا الأمر cmdlet المحدد. هذا هو المكان الذي تأتي منه Get-Help ، إذا سبق لك استخدام سطر الأوامر في Windows ، فربما فعلت شيئًا كالتالي:
ipconfig /?
حسنا ، هذا لا يعمل في PowerShell ، وذلك لأنه في PowerShell يتم استخدام مساحة لفصل أمر من معلماته. لذلك نستخدم بدلاً من ذلك Get-Help ونمرر اسم cmdlets إلى Get-Help كمعلمة.
الحصول على مساعدة الحصول على العملية
الحصول على لعضو
يسمح لنا Get-Member بالحصول على معلومات حول الكائنات التي تعود بها أوامر cmdlets. المصيد مع get-member ، هو أنه يعتمد على ميزة خط أنابيب PowerShell ، لشرح ذلك ، سنستخدم الأمر cmdlet Get-Process.
كما ترى ، يظهر لنا مخرجات PowerShell بعض الخصائص ، والتي يمكنك رؤيتها أعلى كل عمود. المشكلة الأولى هي أنه في حين أن هذه هي الخصائص التي قد تكون تبحث عنها معظم الوقت ، فلا يزال هناك الكثير منها. المشكلة الثانية هي أنها لا تظهر أي أساليب يمكننا الاتصال بها على الكائن. للاطلاع على الأساليب والخصائص ، يمكننا توجيه الإخراج إلى Get-Member ، مثل:
الحصول على العملية | الحصول على لعضو
في حين أنه قد لا يعني لك شيء الآن ، فسوف تحتاج عاجلاً أم آجلاً إلى استخدام Get-Member ، وكلما تعلمت استخدامه بشكل أسرع ، كان ذلك أفضل. على سبيل المثال ، باستخدام المعلومات من المخرجات ، يمكننا فعل شيء مثل:
Start-Process notepad.exe
$ NotepadProc = Get-Process -Name notepad
$ NotepadProc.WaitForExit ()
بدء عملية calc.exe
سيقوم هذا البرنامج النصي بإطلاق المفكرة ، ثم يعين إخراج "Get-Process -Name notepad" إلى المتغير NotepadProc $ ، ثم نسميه أسلوب WaitForExit على $ NotepadProc الذي يسبب توقف البرنامج النصي حتى تغلق المفكرة ، بمجرد إغلاق المفكرة ثم سوف تبدأ الآلة الحاسبة.
$ _ (كائن خط الأنابيب الحالي)
بالرغم من أنه ليس بالضبط cmdlet ، إلا أنه أحد أكثر المتغيرات الخاصة استخدامًا في PowerShell. الاسم الرسمي لـ $ _ هو "كائن خط الأنابيب الحالي". يتم استخدامه في كتل البرنامج النصي ، الفلاتر ، جملة العملية للوظائف ، حيث-الكائن ، foreach-object ومفاتيح التبديل. ومع ذلك ، من الأسهل شرح مثال ، وهو ما يقودنا إلى أمر cmdlet التالي والأخير.
أين-كائن
عندما يقوم Object-Object بالضبط بما يبدو ، فإنه يحدد كائنًا بناءً على ما إذا كان يستوفي معايير معينة. سيؤدي ذلك إلى جمع $ _ ، والخصائص التي يمكننا رؤيتها باستخدام Get-Member. لشرح ذلك ، سنقوم بتوجيه إخراج عملية Get-Process إلى أمر cmdlet لـ Where-Object.
الحصول على العملية | Where-Object $ _. Name -eq "iexplore"
إذن ما الذي يحدث هنا أنت تسأل؟ حسنًا ، أول شيء نقوم به هو الحصول على قائمة من العمليات على جهاز الكمبيوتر الخاص بنا وتمرير الإخراج (باستخدام | الحرف) إلى أمر cmdlet الخاص بمكاننا ، والذي يأخذ كتلة البرنامج النصي كمعلمة. يرشد مقطع النص البرمجي (المحدد بواسطة الأقواس المتعرجة) أوامر cmdlet الخاصة بالأماكن لتحديد الكائنات فقط حيث تكون معلمتهم مساوية لـ "iexplore" ، وبذلك نحصل فقط على قائمة مثيلات IE التي يتم تشغيلها. هذا كل ما في الأمر ، استمتع!