Продолжаем рассматривать типы команд в Windows PowerShell. О командлетах Вы можете прочитать здесь, а о функциях здесь.
Третьим типом команд в PowerShell являются сценарии. Сценарий это блок кода, хранящийся в отдельном файле с расширением .ps1. Это основное преимущество сценариев, так как можно сохранить код, избавив себя от необходимости набирать его каждый раз вручную.
Сценарии можно писать в любом текстовом редакторе, главное, сохранить написанное в файле с расширением .ps1. Сценарий можно написать и в консоли, скопировав затем текст в редактор и сохранив. Между тем, в PowerShell уже есть интегрированная среда сценариев, упрощающая написание.
Это важно!
По умолчанию выполнение сценариев в системе запрещено. Это связано с соображениями безопасности, так как в сценариях могут содержаться блоки вредоносного кода.
Проверить, отключено ли у Вас выполнение сценариев, можно командой
Get-ExecutionPolicy
в PowerShell.
Если у Вас действует строгая политика безопасности уровня Restricted или AllSigned, то Вам придется сменить её командой
Set-ExecutionPolicy RemoteSigned
Теперь напишем наш первый сценарий. Для написания сценариев будем использовать Windows PowerShell ISE, окно с которым Вы уже видели на скриншоте выше. Наберем в верхнем окне какой-нибудь текст
И сохраним это через Файл → Сохранить как. Я, не мудрствуя лукаво, обозвал файл просто primer и поместил его в корень диска C.
Теперь запустим наш файл. Для этого перейдем в каталог с файлом командой
cd C:\
и запустим
.\primer
Обратите внимание, точка важна, так как она показывает, что файл нужно запускать из текущего каталога.
Переходить в каталог с файлом, конечно, не обязательно. Можно и просто прописать путь к файлу целиком.
Сценарий можно запустить и из обычной командной сроки Windows (не Windows PowerShell). Для этого перед путем к файлу сценария дописываем параметр powershell.exe. Например, в моем случае
powershell.exe C:\primer.ps1
Что касается кода, то сценарии, в общем-то, аналогичны функциям. Существенное отличие, которое нужно знать при написании сценариев, так это то, что формальные параметры нельзя задавать просто в круглых скобках. Для задания формальных параметров нужно воспользоваться специальной инструкцией Param. Эта инструкция должна располагаться на самом верху файла сценария (выше могут быть только пустые строки и комментарии).
Изменим наш файл primer так, как показано на рисунке ниже.
Как видим, после запуска сценария с аргументами, тот выполнил необходимое действие сложения.
Поскольку сценарии PowerShell во многом похожи на строки кода классических языков программирования, они так же оформляются комментариями. Комментарии в сценариях Windows PowerShell оформляются символом #.
# Это комментарий
############################################## # Это тоже комментарий # в сценарии Windows PowerShell ##############################################
Итак, как Вы уже могли убедиться Windows PowerShell обладает собственным скриптовым языком. В следующей статье поговорим о последнем типе команд.
Статьи по теме: