Типы команд PowerShell

В отличии от командной строки (внутренние и внешние команды), PowerShell имеет в своем составе команды  четырех видов: командлеты, функции, сценарии и внешние исполняемые файлы.

  • Командлеты (cmdlet) – это первый тип PowerShell команд, которые являют собой .NET класс, порожденный от базового класса Cmdlet. Командлеты компилируются в динамическую библиотеку (DLL), которая подгружается процессом PowerShell при запуске консоли, отсюда следует, что в отличии от внешних команд командной строки, они не могут быть отдельно запущены в виде приложений. Командлеты PowerShell являются своеобразным аналогом внутренних команд командной строки, но в отличии от них, могут быть добавлены дополнительно в систему. Для их разработки используется пакет PowerShell Software Develop­ers Kit (SDK).

Все данные команды PowerShell соответствуют шаблону “глагол-существительное” (Get-Process – получить список процессов, Get-Command – получить список установленных в системе командлетов, Stop-Service – остановка службы, Clear-Host – очистить экран консоли и так далее).

Как и в командной строке, можно передавать параметры:

cmdlet name –parameter1 –parameter2 –argument1 –argument2, ….

Тут parameter1 – тут идет название параметра, который принимает значение argument1, а parameter2 – тут идет название параметра, который принимает значение argument2 и так далее. Например, Get-Childitem –Recurse (вместо Get-Childitem можно использовать псевдоним dir ).

Все командлеты (cmdlet) являются потомками базового класса Cmdlet, который определяет несколько универсальных параметров, которые поддерживаются всеми PowerShell командами данного типа:

-Verbose – тип Boolean, режим для вывода подробных сведений об операции, например, мониторинг или журналирование транзакций. Параметр Verbose дает эффект лишь в тех командах, которые создают подробные данные (информация о файлах, например).

-Debug – тип Boolean, режим создания подробного отчета об операции на уровне программирования. Эффективен при создании данных отладки.

-ErrorAction – тип Enum, реакция на возникшую ошибку, принимает значения Continue (по умолчанию), Stop, SilentlyContinue или Inquire.

-ErrorVariable – тип String, определяет переменную, хранящую в себе ошибки команды во время выполнения. Эта переменная создается дополнительно к пере­менной Serror.

-OutVariable – тип String, определяет переменную, хранящую в себе выходные данные команды PowerShell во время выполнения.

-OutBuffer – тип Int32, определяет количество хранящихся в буфере объ­ектов перед вызовом следующего командлета в конвейере.

-Whatif – тип Boolean, предоставляет сведения об изменениях, которые произойдут в результате указанных действий, не производя самих этих действий. Данный параметр поддерживается в том случае, если происходит изменение состояния системы.

-Confirm – тип Boolean, запрашивает разрешение у пользователя на вы­полнение каких-либо действий, вносящих измене­ния в систему. Данный параметр поддерживается командлетами в том случае, если изменяется состояние системы.

  • Функции – это команды, которые представляют собой блок кода на языке PowerShell, данный блок имеет название и хранится в памяти до завершения текущего сеанса командной оболочки. Как и командлеты, функции могут принимать параметры. Для примера создадим собственную функцию, которая будет принимать параметр и выводить сообщение на экран консоли:
function MyFunc($a) {"Вы передали, $a значение"}

Вызвать функцию MyFunc можно следующим способом:

Myfunc Параметр

Сценарии – тип команд PowerShell, которые представляют собой также блок кода на языке PowerShell, но уже хранящийся во внешнем файле расширением psl.

Внешние исполняемые файлы – PowerShell команды, которые представляют собой внешние исполняе­мые файлы, которые выполняются операционной системой обычным обра­зом. В частности, из оболочки PowerShell можно запускать любые внешние команды интерпретатора cmd.exe (например, хсору), просто указывая их имена.

Решили всё-таки купить камеру GoPro LCD Touch BacPac, и цена доступная. .

Комментарии закрыты.