Честно сказать, даже не знаю с чего начать. Так как впервые у системных администраторов новый, удобный и гибкий инструмент администрирования операционных систем Windows, который предоставляет выполнение многих задач не вставая с рабочего места и сводит все к одному скрипту.
Доступ практически ко всем параметрам ОС как локальной так и удаленной осуществляется через командную оболочку. Благодаря этому «матерые» администраторы Power Shell могут даже не устанавливать GUI, чтобы съэкономить ценные ресурсы сервера.
Раньше написание скриптов сводилось всего лишь к манипуляции GUI (графическим пользовательским интерфейсом) или управлением какой-нить маленькой утилитой, которая работала только в командной строке. Пару раз подводила, например, манипуляция с GUI утилиты Windows Backup. Всплывающее окно антивируса и все. Окно антивируса в фокусе, ожидание действия пользователя над зараженным файлом, блокировка файла в теневой копии, остановка скрипта в планировщике. Конечно, можно было найти другое решение проблемы, но не хотелось усложнять.
GUI не так удобна, как кажется. Управление сервером обычно осуществляется через оснастки mmc. Честно, когда встала задача блокировки запуска блокнота (даже переименованного) никакого другого решения как через оснастку не было. Причем пришлось облазить кучу англо-ресурсов в поиске решения. На хабре (не помню, где находится материал) задача была решена одним скриптом PowerShell. Да и в оснастках главное запомнить, как добраться до того или иного параметра. В WPS (Windows Power Shell), благодаря объектной модели, достаточно запросить параметры объекта одной командой.
Также можно управлять объектами COM. Для чего? Например, при установленном Exel или Word создать новый документ из командной строки, определить его структуру, добавить данные. Удобно же? Особенно, если стоит задача в создании 100 документов одинаковой структуры с порядковой нумерацией в названии и другими извратами. Или поместить результат работы скрипта в IE.
В Power Shell реализован механизм конвейерной обработки. Данные с выхода одной команды можно подать на вход другой. Можно программировать. Стандартные конструкции позволяют выполнить проверку условия и выполнить ту или иную команду в случае совпадения/несовпадения условия, можно запустить обработку команд в цикле, можно загнать длинную команду в одну переменную и манипулировать с этой переменной.
В Power Shell доступны псевдонимы. Конечно, лучше писать в синтаксисе WPS, но на первых порах это поможет, например, если Вы не знаете, как посмотреть директорию. ls или dir вместо Get-Childitem. Кстати, в WPS можно лазить по реестру как по диску с каталогами. Раньше тоже можно было так? Не спорю, но теперь можно изменять параметры реестра из командной оболочки.
Я бы сказал, все это круто и все это давно есть в *nix системах. Но хорошо, что и в Windows появился такой инструмент. За многими статьями обращайтесь на хабр. Так как практически многую информацию я получал оттуда. Copy-Paste делать не буду, только выдержки, полезные команды, свои скрипты или доработанные авторские (с ссылкой на исходный) .
Комментировать