Введення в windows powershell, що таке командлети, вебісторій

Як було сказано вище, інтерфейсом командного рядка справа не обмежується. PowerShell надає системному адміністратору власну мову сценаріїв, що дозволяє автоматизувати складні дії.
Їх в PowerShell команди можуть бути у вигляді командлетів, функцій, сценаріїв і зовнішніх виконуваних файлів.
Командлети - це новий тип команд, вбудований в PowerShell. Команди цього типу компілюються в dll-бібліотеки і завантажуються до процесу PowerShell під час його запуску. Самі по собі командлети як додатки не запускаються.
Командлети можуть мати параметри. У загальному вигляді це виглядає так:
імя_командлета -параметр1 -параметр2 аргумент1 аргумент2
Аргументи це параметри не мають імен.
Як це працює? Наприклад, у нас є команда dir. яка виводить вміст каталогу.

Припустимо, я втратив певний файл. Нехай це буде файл довідки по Photoshop. Я точно пам'ятаю, що в імені файлу міститься «photoshop», і що це pdf-файл. Як мені пам'ятається, файл лежить в цьому каталозі. Я можу вивести список всіх файлів каталогу як в прикладі вище і шукати файл вручну. А можу застосувати параметр -filter. який виведе тільки ті файли, які відповідають певному аргументу. Як аргумент буде * photoshop * .pdf. Зірочки навколо слова «photoshop» стоять бо я не пам'ятаю точного імені файлу і вказую PowerShell на те, що перед і після «photoshop» можуть стояти будь-які символи. Так само я вказую шукати саме pdf-файл.

Отже, шуканий файл знайшовся. У загальному вигляді командлетів було позначено, що один командлет може мати кілька параметрів. У свою чергу, параметри не завжди мають аргументи.
Трохи ускладнити наш приклад. Скажімо, тепер мені потрібно знайти книгу Крістофера Доугерті. Команда dir -filter * Доугерті * .pdf мені нічого не дала. Це означає що книги в даному каталозі немає, але я точно пам'ятаю, що вона десь тут, очевидно, в підкаталогах. Для того, щоб шукати і в підкаталогах, додамо параметр -recurse.

Пошук займе трохи більше часу, зате шукана книга буде знайдена.
Як бачимо, параметр -recurse не містить аргументу. Самі по собі параметри можуть стояти в будь-якому порядку, головне чітко дотримуватися логіку, коли необхідний аргумент слід після того параметра, для якого він призначений. Таким чином, команда dir -filter * Доугерті * .pdf -recurse спрацює точно так само як і dir -recurse -filter * Доугерті * .pdf.
Імена параметрів можна писати в скороченому вигляді, що досить зручно при повсякденній роботі з командним рядком. Скорочення повинно бути зрозуміло інтерпрітатора, тобто не допускати подвійних тлумачень. Наприклад, параметр -recurse ми можемо скоротити до простого -r. а скорочення -filter до -f викличе помилку, тому що є ще параметр -force. В такому випадку можна скоротити -filter до -fi.

Отже, ми отримали уявлення про Командлети. Наступного разу поговоримо про функції.