Windows PowerShell — это кроссплатформенное решение, предназначенное для автоматизации задач, включающее оболочку командной строки, скриптовый язык и платформу управления конфигурацией.
Windows PowerShell предоставляет системным администраторам возможность автоматизации большинства рутинных задач. При ее помощи можно изменять настройки, выполнять остановку и запуск сервисов, а также осуществлять обслуживание практически всех приложений.
Следует отметить, что Windows PowerShell прежде всего является командной оболочкой с языком сценариев, первоначально созданной на базе платформы .NET Framework, а немного позже на основе платформы .NET Core. В отличие от оболочек, которые принимают и возвращают текстовые данные, Windows PowerShell способна работать с классами .NET, имеющими совокупность свойств и методов.
PowerShell предоставляет возможность исполнения обычных команд, а также обеспечивает доступ к объектам COM, WMI и ADSI. В ней применяются разные хранилища, аналогичные файловой системе или реестру Windows, для доступа к которым сформированы так называемые поставщики (providers). Следует также подчеркнуть возможность встраивания выполняемых компонентов PowerShell в иные приложения, что позволяет реализовать разные операции, в том числе и при посредстве графического интерфейса. Справедливо также и обратное утверждение, а именно, что большое число приложений для Windows могут предоставить доступ к своим интерфейсам управления через PowerShell.
Windows PowerShell предоставляет возможность выполнять следующие действия:
работать с файловой системой, реестром windows, хранилищем сертификатов и так далее.
Известны две версии использования Windows PowerShell:
Для того чтобы получить доступ к интерфейсу командной строки, следует сделать выбор соответствующего ярлыка в меню Windows или осуществить запуск powershell.exe из меню «Выполнить». На экране должно появиться следующее окно:

Рисунок 1. Окно программы.
Необходимо отметить, что там имеется много возможностей, которые являются привычными для пользователей командных оболочек для Unix-систем.
При работе с оболочкой существуют следующие полезные сочетания клавиш:
Клавиша F7 может показать окно с набранными командами и предоставляет возможность выбора одной из них. В консоли также присутствует возможность выделить текст мышью, копирование, позиционирование курсора, удаление.
Windows PowerShell ISE считается полноформатной средой разработки с редактором кода, который поддерживает вкладки и подсветку синтаксиса, конструктором команд, встроенной программой отладки и другим набором программных возможностей. Когда в редакторе среды разработки за именем команды стоит знак дефис, то пользователь может увидеть в ниспадающем списке весь перечень доступных параметров с указанием типа. Запуск PowerShell ISE можно осуществить или через ярлык из системного меню, или при помощи исполняемого файла powershell_ise.exe.
В Windows PowerShell присутствуют также так называемые командлеты (cmdlets), являющиеся специализированными классами .NET, в которых заложен разнообразный функциональный набор. Называются они по принципу «Действие-Объект» (или иначе, «Глагол-Существительное), а поделенная дефисом связка может считаться сказуемым и подлежащим, аналогично предложениям естественных языков. К примеру, Get-Help фактически значит «Получение-Помощи», а конкретно для PowerShell, это означает «Показать-Справку». По существу, это аналогия команды man в Unix-системах и мануалы в PowerShell следует открывать именно так. Но следует напомнить, что существует и онлайн-документация по PowerShell, которая у Microsoft является очень подробной.
Кроме Get в командлетах для того чтобы обозначить действия, применяются и другие глаголы (и не одни глаголы, если говорить точно). Ниже приведены примеры команд, используемых в командлетах:
Существуют системные, пользовательские и опциональные командлеты, в результате исполнения которых должен вернуться объект или массив объектов. Они не являются чувствительными к регистру, то есть, с позиций интерпретатора команд нет различий между Get-Help и get-help. Для разделения применяется символ точка с запятой «;», но поставить его следует только в том случае, когда в одной строке исполняется несколько командлетов. Командлеты Windows PowerShell могут группироваться в модули, например, NetTCPIP, Hyper-V и так далее.