PowerShell - это новая командная оболочка и язык сценариев для Windows. Это круто по многим причинам:
Язык нормальный , особенно по сравнению с CMD.
Сценарии и командная строка используют общий язык . У CMD было много небольших, но важных отличий. CScript и Windows Scripting Host не интерпретируются.
Использование командной строки может быть быстрым, в то время как сценарии могут быть читаемыми , благодаря комбинации псевдонимов и умной обработки аргументов команды. Например, dir -r .
совпадает с Get-ChildItem -Recurse -Path "."
Согласованный синтаксис аргумента команды , для всех всех командлетов и пользовательских сценариев (в V2.0).
Мощное взаимодействие с другими технологиями , прежде всего .NET. Кроме того, WMI внезапно становится удобным и доступным. COM тоже есть. V2 упрощает взаимодействие с Win32 .
Интегрированный редактор скриптов / интерактивная оболочка в V2, что очень круто.
Конвейеры команд работают с объектами, а не со строками , что означает, что вам не нужно анализировать, и вы можете форматировать текст для людей, а не следующую команду. В bash я много сделал cut
, но в PowerShell мне это не нужно. Объекты - это настоящие объекты .NET, которые очень мощные.
До PowerShell мне удалось стать экспертом в написании сценариев CMD, но теперь я могу начать стирать эту часть своего мозга. Слава Богу.
РЕДАКТИРОВАТЬ: Стоит отметить, что многие продукты Microsoft добавляют поддержку PowerShell, особенно для серверных продуктов. Например, Exchange поставляется с командлетами PowerShell, поэтому вы можете администрировать сервер Exchange через PowerShell.