Андрей Бирюков
По сравнению с UNIX, Windows-системы не обладают разнообразием языков
сценариев, поэтому появление PowerShell стало примечательным событием.
Чем PowerShell отличается от
других оболочек
Задачи автоматизации различных операций, выполняемых системными
администраторами, существуют со времен появления первых локальных сетей. Для
решения этих задач используются разные программные средства, однако самым
распространенным является написание сценариев, например, на языке VBScript или Perl.
Но в последнее время все большую популярность получает Windows PowerShell,
новая командная оболочка Windows, разработанная в первую очередь для системных
администраторов. Она включает интерактивную командную строку и среду исполнения
сценариев, которые можно использовать вместе или по отдельности. Ранее PowerShell
именовался Monad и поставлялся в виде отдельного
приложения, но в Windows Server 2008 (который, по официальным данным, выйдет в
феврале следующего года) данный инструмент будет установлен по умолчанию.
Также стоит отметить, что Powershell будет работать не только на Server 2008,
но и на любой системе, где есть .Net 2.0 (Windows XP, Vista, Server 2003). В
отличие от большинства оболочек, которые принимают
и возвращают текст, оболочка Windows PowerShell, разработанная на основе среды
CRL .NET и платформы .NET Framework, принимает и возвращает объекты .NET, а
также использует в своей работе только объекты. Это фундаментальное изменение
делает возможным применять совершенно новые средства и методы администрирования
и конфигурирования систем Windows.
Как и многие другие оболочки, Windows PowerShell
обеспечивает доступ к файловой системе на компьютере. Кроме того, в состав
оболочки Windows PowerShell входят поставщики, позволяющие столь же легко
работать с другими хранилищами данных, такими как реестр и сертификаты цифровых
подписей.
Поговорим о том, какие средства предлагает данный
инструмент системным администраторам и какие задачи можно решать с его помощью.
Большинство оболочек, в том числе знакомая каждому админу Cmd.exe и оболочки
SH, KSH, CSH и BASH систем UNIX, выполняют команду или служебную программу в
новом процессе и представляют результаты пользователю в виде текста. За время
существования этих оболочек были разработаны многие программы обработки текста,
поддерживающие этот механизм взаимодействия, такие как sed, AWK и PERL.
Некоторые команды встроены в эти оболочки и выполняются в процессе самой
оболочки. Примерами могут служить команды typeset и dir в оболочках KSH и Cmd.exe соответственно. В большинстве оболочек
встроенных команд немного, поэтому для них создано большое число служебных
программ.
Однако Windows PowerShell сильно
отличается от других оболочек: