Вступление
Графический интуитивно понятный интерфейс сделал операционные системы Microsoft Windows популярными для миллионов пользователей во всем мире. Размещение графической подсистемы на уровень ядра позволило поднять производительность графических приложений, что делает Windows привлекательной для игр, обработки изображений и видео на домашних компьютерах и рабочих станциях предприятий.
Ситуация стала меняться с появлением серверных операционных систем Microsoft Windows. Графические утилиты комфортны для начинающих администраторов, но для управления серверными фермами с десятками серверами необходимы другие инструменты. Необходимы средства автоматизации как простых рутинных операций, так и сложных задач мониторинга и управления серверами в крупных компаниях.
Есть возможность создавать простые скрипты в виде пакетных файлов .bat или .cmd, содержащие последовательность команд командной строки Windows. Но возможности этого подхода весьма ограничены. С другой стороны, можно создавать мощные скрипты
на языках программирования VBScript или JScript. Этот подход требует для системных администраторов квалификации программиста.
В 2006 году компания Microsoft выпустила Windows PowerShell – новую оболочку командной строки и среду разработки и выполнения скриптов. В новом продукте удалось совместить широкие возможности языков программирования и простоту использования.
Командлеты
Основным инструментом PowerShell являются команды, называемыми командлетами.
Имена командлетов унифицированы и имеют интуитивно понятную структуру «глагол-существительное». Глагол позволяет понять какую операцию выполняет командлет, например: Get – получить, Set – задать, New – создать, Add – добавить, Start – запустить, Stop – остановить и т.д.
Значительное преимущество PowerShell над классической командной строкой – это развитая справочная система. Чтобы получить справку о командлете надо использовать командлет Get-Help или его алиас help, например:
Get-Help Get-Process или help Get-Process
Современные версии Windows содержат базовый набор командлетов, который может быть расширен импортом дополнительных модулей.
Конвейер
Мощным инструментом администратора может быть конвейер – технология, придуманная в Unix. В конвейере обработка данных производится последовательно группой команд, разделенных знаком | (вертикальная черта). В PowerShell эффективность конвейера повышена за счет того, что командлеты передают данные не в виде текста как в Unix, а в виде объектов со своим набором свойств и методов. Поэтому в большинстве случаев дополнительной обработки данных в конвейере не требуется.
Конвейер PowerShell позволяет быстрее решать некоторые административные задачи, чем при использовании графических утилит и с меньшей нагрузкой на аппаратные ресурсы компьютеров.
Например, крупная компания имеет подразделение Marketing, в котором работают сотрудники нескольких филиалов в разных городах. Решено создать еще одно подобное подразделение с названием Marketing2 и перевести туда часть сотрудников подразделения Marketing, живущих только в городе Boston и у которых фамилии начинаются с букв в диапазоне от L до Z.
Можно поменять название подразделения (department) у таких сотрудников, написав конвейер:
Get-ADUser -filter {department -eq ‘Marketing’ -and city -eq ‘Boston’} -Properties department,city,sn | where {$_.sn -ge ‘L’} | Set-ADUser -department ‘Marketing2’
Скрипты
Скрипты – это текстовые файлы, содержащие одну или несколько команд. В PowerShell такие файлы имеют расширение .ps1.
Скрипты открывают для администратора широкие возможности для автоматизации своих повседневных задач. Рекомендуется использовать приложение Microsoft PowerShell ISE, которое позволяет создавать скрипты с нуля или копированием и последующим редактированием готового кода из разных источников. Есть возможность запускать скрипт целиком или его отдельные фрагменты. Имеется цветовая подсветка кода.
Нажатием клавиши F1 открывается справка по ISE, если она загружена на компьютер, если не загружена, то открывается на сайте Microsoft. Также доступна вся справка, которая открывается для командлета Get-Help.
Вы можете пройти обучение по работе с PowerShell в нашем учебном центре
Курсы к статье
Подпишись на рассылку актуальных новостей
и читай нас в соц. сетях