Сценарии в Windows PowerShell

Продолжаем рассматривать типы команд в Windows PowerShell. О командлетах Вы можете прочитать здесь, а о функциях здесь.

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

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

Это важно!

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

Проверить, отключено ли у Вас выполнение сценариев, можно командой

 Get-ExecutionPolicy

в PowerShell.

Windows PowerShell, сценарии
Проверка политики безопасности в Windows PowerShell

Если у Вас действует строгая политика безопасности уровня Restricted или AllSigned, то Вам придется сменить её командой

Set-ExecutionPolicy RemoteSigned

Теперь напишем наш первый сценарий. Для написания сценариев будем использовать Windows PowerShell ISE, окно с которым Вы уже видели на скриншоте выше. Наберем в верхнем окне какой-нибудь текст

Windows PowerShell, сценарии

И сохраним это через Файл → Сохранить как. Я, не мудрствуя лукаво, обозвал файл просто primer и поместил его в корень диска C.

Теперь запустим наш файл. Для этого перейдем в каталог с файлом командой

cd C:\

и запустим

.\primer

Обратите внимание, точка важна, так как она показывает, что файл нужно запускать из текущего каталога.

Windows PowerShell, сценарии
Пример выполнения сценария в Windows PowerShell

Переходить в каталог с файлом, конечно, не обязательно. Можно и просто прописать путь к файлу целиком.

Сценарий можно запустить и из обычной командной сроки Windows (не Windows PowerShell). Для этого перед путем к файлу сценария дописываем параметр powershell.exe. Например, в моем случае

powershell.exe C:\primer.ps1

Что касается кода, то сценарии, в общем-то, аналогичны функциям. Существенное отличие, которое нужно знать при написании сценариев, так это то, что формальные параметры нельзя задавать просто в круглых скобках. Для задания формальных параметров нужно воспользоваться специальной инструкцией Param. Эта инструкция должна располагаться на самом верху файла сценария (выше могут быть только пустые строки и комментарии).

Изменим наш файл primer так, как показано на рисунке ниже.

Windows PowerShell, сценарии
Формальные параметры в сценариях Windows PowerShell

Как видим, после запуска сценария с аргументами, тот выполнил необходимое действие сложения.

Поскольку сценарии PowerShell во многом похожи на строки кода классических языков программирования, они так же оформляются комментариями. Комментарии в сценариях Windows PowerShell оформляются символом #.

# Это комментарий
##############################################
# Это тоже комментарий
# в сценарии Windows PowerShell
##############################################

Итак, как Вы уже могли убедиться Windows PowerShell обладает собственным скриптовым языком. В следующей статье поговорим о последнем типе команд.

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

Ваш адрес email не будет опубликован.