Домашня » як » 5 командлетів для початку роботи з PowerShell

    5 командлетів для початку роботи з PowerShell

    PowerShell швидко стає кращою мовою сценаріїв і інтерфейсом інтерфейсу користувача, а також ІТ-фахівців. Для того, щоб ви могли розпочати роботу, варто вивчити декілька команд, тому ми маємо 5 корисних командлетів, які ви зможете вивчити сьогодні.

    Get-Command

    Get-Command є одним з найбільш корисних командлетів у всьому PowerShell, оскільки він допоможе вам впоратися з PowerShell, дозволяючи здійснювати пошук певних командлетів. Використання Get-Command само по собі не є дуже корисним, оскільки просто збирається виплюнути кожну команду, яку має PowerShell.

    Але з цього ми бачимо, що об'єкти, які виводиться PowerShell, мають властивість Name і ModuleName. Використовуючи цю інформацію, ми зможемо відточити свій пошук шляхом пошуку командлетів, які містять певні терміни. Наприклад, якщо я хочу знайти всі командлети, які містять слово "IP", я можу зробити це:

    Get-Command -Name * IP *

    Як ви можете бачити, ми все ще отримуємо досить багато результатів, наш наступний варіант полягає в пошуку в певному модулі. У нашому випадку я виберу модуль NetTCPIP.

    Get-Command -Module NetTCPIP - ім'я * IP *

    Отримати допомогу

    Після того, як ви знайшли командлет, який ви шукаєте, використовуючи Get-Command, ви захочете знати синтаксис і спосіб використання цього конкретного cmdlet. Тут входить служба Get-Help, якщо ви коли-небудь використовували командний рядок у Windows, ви, напевно, зробили щось подібне:

    ipconfig /?

    Добре, що не працює в PowerShell, це тому, що в PowerShell простір використовується для відокремлення команди від її параметрів. Тому ми використовуємо Get-Help і передаємо ім'я cmdlets для Get-Help як параметр.

    Get-Help Get-Process

    Get-Member

    Get-Member дозволяє нам отримувати інформацію про об'єкти, які повертає cmdlet. Улов з get-членом полягає в тому, що він покладається на функцію конвеєра PowerShell, щоб продемонструвати це, ми зможемо скористатися командлетом Get-Process..

    Як ви бачите, вихід PowerShell показує нам деякі властивості, які можна побачити у верхній частині кожного стовпця. Перша проблема полягає в тому, що, хоча ці властивості ви шукаєте більшу частину часу, їх ще більше. Друга проблема полягає в тому, що вона не показує жодних методів, які ми можемо викликати на об'єкті. Щоб побачити способи та властивості, які ми можемо надіслати нашим виходом до Get-Member, так:

    Get-Process | Get-Member

    Хоча це може нічого не значити вам зараз, вам рано чи пізно доведеться використовувати Get-Member, і чим раніше ви навчитеся використовувати його, тим краще. Як приклад, використовуючи інформацію з виводу, ми могли б зробити щось подібне:

    Start-Process notepad.exe
    $ NotepadProc = Get-Process -Name блокнот
    $ NotepadProc.WaitForExit ()
    Start-Process calc.exe

    Цей скрипт запускатиме блокнот, потім призначає вивід "Get-Process -Name notepad" змінної $ NotepadProc, після чого ми називаємо метод WaitForExit на $ NotepadProc, який примушує скрипт призупинити, поки ви не закриєте блокнот. потім запуститься калькулятор.

    $ _ (Поточний об'єкт трубопроводу)

    Незважаючи на те, що не є цілком командлетом, він є одним з найбільш використовуваних спеціальних змінних у PowerShell. Офіційною назвою для $ _ є "поточний об'єкт трубопроводу". Використовується в блоках скриптів, фільтрах, процесному пункті функцій, де-об'єкт, foreach-об'єкт і комутатори. Однак легше пояснити прикладом, який підводить нас до нашого наступного і останнього cmdlet, Where-Object.

    Де-об'єкт

    Де-об'єкт робить саме те, що звучить, він вибирає об'єкт на основі того, чи відповідає він певному критерію. Це об'єднає $ _ і властивості, які ми бачимо за допомогою Get-Member. Щоб продемонструвати це, ми надрукуємо вихід Get-Process у cmdlet Where-Object.

    Get-Process | Де-об'єкт $ _. Ім'я -eq "iexplore"

    Так що ж тут ви запитуєте? Перше, що ми робимо, це отримання списку процесів на нашому комп'ютері та передача вихідних даних (використовуючи символ) до cmdlet Where-Object, який приймає блок сценарію як параметр. Блок сценаріїв (визначається фігурними дужками) вказує командлетам Where-Object лише виділяти об'єкти, де їхній параметр імені дорівнює "iexplore", і тому ми отримуємо лише список запущених екземплярів IE. Це все, що потрібно для цього, весело провести час!