Урок 2.1 Основы PowerShell. Справочная система

PowerShell хорошо документирован и позволяет быстро получить детальную информацию по командам. Наличие такой скорой помощи позволяет эффективно изучать возможности среды.

При первом запуске необходимо обновить справочную систему. Для этого нужно запустить оболочку от имени Администратора и выполнить команду update-help:

PowerShell
Update-Help

Время от времени полезно производить обновление справочной системы. Например, один раз в месяц.

Если в сети есть компьютеры без выхода в интернет, то их справочную систему PowerShell можно обновить следующим образом:

  1. С компьютера, имеющего доступ в интернет, сохраните справочную систему в каталог:
PowerShell
save-help -DestinationPath c:\tmp\

2. Сделайте каталог доступным по сети для других компьютеров. Обновите справочную систему на компьютерах без выхода в интернет командой Update-Help с использованием параметра -SourcePath, указывающего на каталог с сохранённой справочной системой.

PowerShell
update-help -SourcePath C:\tmp\

Как получить помощь

Get-Help — командлет PowerShell, который позволяет получить доступ к справочной системе. Man («Manual» из Unix-среды) и Help являются алиасами командлета Get-Help. Но в отличие от Get-Help алиас Help предоставляет вывод справки по-странично. Вывод аналогичен выводу команды Get-Help | More. Клавиша Пробел позволяет пролистывать страницы справки. Прервать показ и вернуться в командную оболочку можно при помощи комбинации клавиш Ctrl+C.

В окне консоли PowerShell сочетание клавиш Ctrl+C позволяет прервать выполняющийся процесс

Справочная система выполняет две главные цели — 1. позволяет найти команды, чтобы выполнить определённые задачи, 2. помогает изучить как использовать найденные команды.

Как найти команды, используя справочную систему

В справочной системе описаны почти все командлеты, основные концепции и другая общая информация. Командлет Get-Help имеет несколько параметров. Один из главных -Name. Параметр определяет имя справочной статьи, которую вы хотите увидеть, и это позиционный параметр. Таким образом, вам не обязательно его указывать, можно сразу написать необходимое имя, в котором можно использовать знаки подстановки.

Например, вы хотите сделать что-то с журналами событий. Но вы не знаете какие команды можно для этого использовать и вы решаете поискать их. Например, так:

PowerShell
get-help *log*
PowerShell
get-help *event*

В ответ вы получите примерно такой список:

Большинство полученных функций связаны с журналами событий и именуются на основе форм «глагол-существительное». Кроме последних трёх. Статьи «about_» относятся к статьям справочной информации и не рассказывают о командах, но появились в результатах нашего поиска потому что имеют часть «log» в своём имени. Мы искали в максимально широком диапазоне «*log*», чтобы познакомиться с максимально возможными результатами поиска. Для того, чтобы получить в результатах только командлеты, можно использовать для поиска командлет Get-Command (алиас Gcm):

PowerShell
get-command *log*

В результатах также будут присутствовать приложения, например, такие как logagent.exe, что нам, скорее всего, не нужно. Для лучших результатов необходимо использовать параметры -Noun и -Verb. Поскольку только командлеты имеют в своих именах глаголы и существительные, то в результатах такого поиска будут только командлеты. Команда Get-Command -noun *event* вернёт командлеты, в которых в существительном присутствует часть «event», а команда Get-Command -verb Get вернёт все командлеты, которые только извлекают информацию. Также можно использовать параметр -Type со значением Cmdlet, что вернёт в результате только командлеты:

PowerShell
Get-Command *log* -Type Cmdlet

Предполагая, что нашли в списке нужный командлет (Get-EventLog), можно получить помощь по нему:

PowerShell
Help Get-EventLog

При наборе команд не забывайте о функции автодополнения.

После ввода команды вы получите файл справки по командлету Get-EventLog. В нём содержится краткая справка по назначению и синтаксису команды, что поможет в случае необходимости быстро вспомнить использование команды и её параметров.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *