Заметки о Windows и других программных продуктах Microsoft...

Оператор #Requires в PowerShell

Оператор #Requires в PowerShell

В PowerShell начиная с версии 4.0 имеется оператор #Requires, с помощью которого можно задать определенные условия, необходимые для выполнения сценария. Оператор #Requires добавляется в начало сценария и имеет ряд параметров:

-Version — минимальная версия PowerShell, необходимая для выполнения сценария;
-PSSnapin — оснастка, необходимая для выполнения сценария;
-Modules — модуль, необходимый для выполнения сценария;
-ShellID — оболочка, необходимая сценарию;
-RunAsAdministrator — сценарий должен быть выполнен с повышенными привилегиями (″Запуск от имени администратора″);

В том случае, если необходимые условия не соблюдены, оператор #Requires запрещает запуск. Для примера создадим сценарий следующего содержания:

#Requires -Version 4.0
#Requires -Modules ActiveDirectory
#Requires -RunAsAdministrator

Get-ADuser -Name Kirill

Для выполнения сценария требуется минимум четвертая версия PowerShell и модуль ActiveDirectory, также он должен быть запущен с повышенными привилегиями. Для проверки откроем консоль PowerShell от имени администратора и запустим сценарий. Поскольку все необходимые условия соблюдены, он успешно выполнился.

успешное выполнение

 

А теперь откроем консоль от имени обычного пользователя и попробуем повторить запуск. И как видите, на сей раз оператор #Requires отработал и не дал выполниться сценарию.

оператор #Requires

 

Оператор #Requires нельзя использовать для отдельной функции, командлета или оснастки, только для сценария. Подробности об использовании оператора можно узнать командой Get-Help About_Reguires.

 
 
Комментарии

Не с 4, а с 2.

Ответить