
- •Глава 1. Работа в среде командной оболочки Microsoft PowerShell
- •1.1 Назначение пакета PowerShell
- •1.2 Начало работ в среде PowerShell
- •Структура пакета и его справочная система
- •Командлеты
- •1.4.1 Работа с дисками
- •1.4.3 Работа с файловой системой
- •1.4.3 Работа с конфигурацией оболочки
- •1.4.4 Работа с объектами
- •1.5 Функции
- •1.6 Сценарии
- •1.7 Примеры интересных работ в Windows PowerShell
1.6 Сценарии
Частично построение сценариев затрагивалось в п. 1.4.2 при формировании профилей. В общем случае сценарий представляет собой текстовый файл, содержащий набор команд управления в необходимой последовательности. Как и в любой системе программирования для создания программ следует выбирать текстовый редактор, имеющий минимальное количество невидимых символов форматирования, например, редактор Блокнот (Notepad). Файл со сценарием должен иметь расширением *.ps1. Создать файл со сценарием с можно четырьмя различными способами:
- вызвать текстовый редактор и вручную набрать в нужной последовательности команды управления. После окончания набора сохранить файл с нужным расширением;
- выполнить необходимые команды в оболочке PowerShell, скопировать их с консоли в буфер Windows и вставить в текстовый файл, открытый во внешнем текстовом редакторе;
- при работе в окне PowerShell включить с помощью командлета Start-Transcript режим протоколирования команд. После окончания сеанса выдать команду Stop- Transcript, что прекращает процесс формирования журнала.
- при работе в оболочке PowerShell команды, подлежащие размещению в сценарии, оформляются в виде строковых данных (заключаются в одиночные апострофы) и с помощью символов > и >> одна за другой перенаправляются в файл сценария *.ps1. Символ > размещает строку в начале файла, а символы >>записывают строки в конец файла. Например,
PS C:\>’Команда – строка, помещаемая в сценарий’ >> *.ps1
Искусство написания сценариев требует большого опыта работы пользователя в качестве администратора компьютерных систем. Имеются даже библиотеки с сотнями сценариев, которые можно использовать в типовых вариантах управления (http://www.ecom.ru/catalog_18/fileData/file_23_4.zip).
Рассмотрим в качестве примера процесс подготовки простого файла-сценария и его выполнения. Пусть он будет выполнять действия, аналогичные функции, созданной в п.1.5 (подсчет количества аргументов и суммы их значений). Пример одновременно продемонстрирует, как можно передавать значения аргументов в сценарии.
В каталоге пользователя создадим подкаталог PScript, в котором и сформируем требуемый файл.
Войдем в созданный каталог и построчно введем знакомую программу. Знаки ‘@ указывают на начало и конец программы. Последняя строка программы присваивает файлу сценария имя SumArgs.ps1.
Попытка сразу выполнить файл сценария к успеху обычно не приводит. По соображениям безопасности здесь имеется несколько уровней защиты. Сначала надо проверить значение политики выполнения сценариев. По умолчанию она устанавливается Restricted. Может быть установлена и более строгая AllSigned.
В этих случаях требуется установить политику RemoteSigned. Именно она позволяет выполнять неподписанные локальные сценарии. Еще одной ступенью защиты является специфический запуск сценариев. При запуске сценария обязательно должен прописываться полный путь к файлу сценария *.ps1. Чтобы снизить трудоемкость набора длинных путей к файлу сценария, при его запуске из текущего каталога разрешается сокращенная запись пути к файлу .\SumArgs. Здесь знак точки (.) и соответствует текущему каталогу, как в Unix- и Linux-системах.
Сценарий выполнен.