Windows PowerShell - новый скриптовый язык, позволяющий автоматизировать действия пользователя в операционных системах семейства Windows.
Многие знают о существовании такого средства автоматизации рутинных операций в Windows, как BAT-файлы. Думаю, что многие из наших читателей даже писали самостоятельно не только самые простые, но и довольно серьёзные скрипты на их основе. Однако BAT-файлы - это уже довольно старое, чтобы не сказать большего, средство для автоматизации работы пользователей и администраторов, а потому корпорация Microsoft предложила сравнительно недавно достойную замену для них. Эта замена называется Windows PowerShell.
Windows PowerShell - это специальный скриптовый язык, позволяющий автоматизировать действия пользователя в операционных системах семейства Windows. В отличие от старого командного языка, используемого в BAT-файлах и доставшегося Windows в наследство от MS-DOS'а, Windows PowerShell ориентируется на современные Microsoft'овские технологии, в первую очередь, на .NET Framework. Выражается эта ориентация в том, что непосредственно из скриптов, написанных на PowerShell'е, можно обращаться к .NET'овским классам, которые уже будут выполнять всю черновую работу. В общем случае скрипты могут обращаться к командлетам (cmdlets), которые могут быть как специфическими .NET-классами, так и обычными Windows-приложениями или другими PowerShell-скриптами. При этом приложения или скрипты запускаются как отдельные процессы, а код .NET-классов выполняется в том же процессе, что и сам скрипт.
В PowerShell применяется расширенная концепция "трубопроводов" (pipelines) из мира UNIX-скриптов. То есть, в UNIX-скриптах одна команда может принять на вход поток байтов, являющихся выходом для другой команды. В PowerShell эта связка приобрела объектно-ориентированный характер: вместо потоков байтов внутри скриптов взаимодействуют полноценные объекты, при этом для работы с ними нет необходимости в явной сериализации или парсинге входных или выходных потоков команд.
В PowerShell 2.0 появилась возможность удалённого выполнения скриптов, а также выполнения их в асинхронном (фоновом) режиме. Появилась также возможность производить различные изменения в системе по принципу транзакций, также PowerShell-скрипты стало возможным отлаживать. Также во второй версии появилась среда разработки PowerShell-скриптов с графическим интерфейсом.
Вадим СТАНКЕВИЧ
Комментарии