الصفحة الرئيسية » howto » 5 Cmdlets لتحصل على البدء مع PowerShell

    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 التي يتم تشغيلها. هذا كل ما في الأمر ، استمتع!