Знакомство с Windows PowerShell
PowerShell — это решение для автоматизации задач, которое включает оболочку командной строки, язык сценариев и платформу управления конфигурацией.
Оболочка командной строки
Windows PowerShell заменил интерфейс командной строки Windows (cmd.exe) и ограниченные функциональные возможности языка сценариев пакетного файла. PowerShell принимает и возвращает объекты .NET и включает:
- Журнал командной строки.
- Заполнение нажатием клавиши TAB и прогнозирование.
- Поддержка псевдонимов команд и параметров.
- Команды связывания, использующие функцию конвейера.
- Надежная встроенная в консоль система справки
Изначально оболочка Windows PowerShell была платформой, разработанной на основе .NET Framework и работала только в операционных системах Windows. Однако в последних выпусках PowerShell использует .NET Core и может работать на платформах Windows, macOS и Linux. Благодаря поддержке нескольких платформ эти последние выпуски называются PowerShell (а не Windows PowerShell).
Язык скриптов
Команды предоставляют основные функциональные возможности Windows PowerShell. Существует множество различных команд, в том числе командлетов (произносится "ко-манд-ле-тов"), функций, фильтров, скриптов, приложений, конфигураций и рабочих процессов. Команды — это стандартные блоки, которые можно объединить с помощью языка сценариев Windows PowerShell. С помощью команд можно создавать пользовательские решения для сложных административных задач. Кроме того, можно выполнять команды непосредственно в консоли PowerShell, если требуется выполнить одну задачу. Консоль — это интерфейс командной строки для PowerShell, который является основным способом взаимодействия с PowerShell.
Командлеты используют соглашение об именовании "глагол-существительное". Например, командлет Get-Command можно использовать для перечисления всех командлетов и функций, зарегистрированных в командной оболочке. Глагол здесь определяет действие, выполняемое командлетом, а существительное — ресурс, в котором он выполняет это действие.
Серверные приложения и облачные службы Майкрософт предоставляют специализированные командлеты, которые можно использовать для управления этими службами. Фактически управление некоторыми функциями возможно только с помощью PowerShell. Во многих случаях, даже если приложение предоставляет графический пользовательский интерфейс (GUI) для управления определенными функциями, оно использует PowerShell для реализации хотя бы некоторых его функций в фоновом режиме.
Платформа управления конфигурацией
PowerShell включает платформу управления PowerShell Desired State Configuration (DSC). Эта платформа позволяет управлять корпоративной инфраструктурой с помощью кода, позволяя решать следующие задачи:
- использовать декларативные конфигурации и повторяемые скрипты для повторяемых развертываний;
- применять параметры конфигурации и определять случаи, когда конфигурация отходит от стандартных требований;
- развертывать параметры конфигурации, используя модели отправки и вытягивания.
Работа приложений и служб с административными функциями на основе PowerShell являются согласованной. Этот атрибут означает, что вы можете быстро применить полученную информацию. Кроме того, если используются скрипты автоматизации для администрирования программного приложения, их можно повторно использовать вместе с другими приложениями.
Версии Windows PowerShell
По мере изучения PowerShell важно также изучить различные версии, с которыми вы можете столкнуться в зависимости от типа операционной системы и выпуска. Существует две основные платформы PowerShell:
- Windows PowerShell
- PowerShell (изначально — PowerShell Core)
Windows PowerShell
Windows PowerShell доступна исключительно для ОС Windows. Windows PowerShell 1.0 появилась в 2006 году в качестве компонента, устанавливаемого в ОС Windows XP с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 1 (SP1) и Windows Vista. Это также был дополнительный компонент Windows Server 2008. В 2009 году компонент PowerShell 2.0 был интегрирован в Windows 7 и Windows Server 2008 R2. Все версии Windows PowerShell до версии 5.1 включительно (которая доступна в Windows 10) интегрированы с ОС Windows.
Windows PowerShell является компонентом ОС, поэтому он принимает те же соглашения о поддержке жизненного цикла и лицензировании, что и родительская ОС.
PowerShell
PowerShell Core поставляется, устанавливается и настраивается отдельно от Windows PowerShell. Впервые этот компонент выпущен как PowerShell Core 6.0 в 2018 году, и это была первая версия, которая предлагала поддержку нескольких платформ, позволяя использовать ее также в операционных системах macOS и Linux.
Примечание.
Последняя версия PowerShell — PowerShell 7.5, доступна через Центр обновления Майкрософт.
PowerShell и Windows PowerShell устанавливаются отдельно, и вы можете выполнять поддерживаемые команды с помощью любой из этих сред.
Стандартные соглашения о лицензировании Windows не включают PowerShell. Вместо этого PowerShell поддерживается в рамках платной поддержки Майкрософт, соглашений Microsoft Enterprise и Microsoft Software Assurance. Также доступна поддержка сообщества.
Журнал выпуска версий
В следующей таблице представлена общая временная шкала основных выпусков PowerShell:
Таблица 1. Временная шкала выпусков PowerShell
Версия | Дата выпуска | Примечания. |
---|---|---|
PowerShell 7.5 | Январь 2025 г. | Создано на платформе .NET 9.0. |
PowerShell 7.4 | Ноябрь 2023 г. | Создано на платформе .NET 8.0. |
PowerShell 7.3 | Ноябрь 2022 г. | Создано на платформе .NET 7.0. |
PowerShell 7.2 | Ноябрь 2021 г. | Создано на основе .NET 6.0. |
PowerShell 7.1 | Ноябрь 2020 г. | На основе .NET 5.0. |
PowerShell 7.0 | Март 2020 г. | Создано на основе .NET Core 3.1. |
PowerShell 6.0 | 2018 сентября | Создано на основе .NET Core 2.0. Первый выпуск, который можно установить в Windows, Linux и macOS. |
PowerShell 5.1 | Август 2016 г. | Выпущено в юбилейном обновлении Windows 10 и Windows Server 2016, а также в составе Windows Management Framework (WMF) 5.1. |
PowerShell 5.0 | 2016 февраля | Интегрировано в Windows 10 версии 1511. Выпущено в Windows Management Framework (WMF) 5.0. Поддерживается установка в ОС Windows Server 2008 R2, Windows Server 2012, Windows 10, Windows 8.1 Корпоративная, Windows 8.1 Профессиональная и Windows 7 с пакетом обновления 1 (SP1). |
PowerShell 4.0 | октябрь 2013 г. | Интегрировано в Windows 8.1 и Windows Server 2012 R2. Поддерживается установка в Windows 7 с пакетом обновления 1 (SP1), Windows Server 2008 с пакетом обновления 1 (SP1) и Windows Server 2012. |
PowerShell 3.0 | Октябрь 2012 г. | Интегрировано в Windows 8 и Windows Server 2012. Поддерживается установка в Windows 7 с пакетом обновления 1 (SP1), Windows Server 2008 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1). |
PowerShell 2.0 | Июль 2009 г. | Интегрировано в Windows 7 и Windows Server 2008 R2. Поддерживается установка в Windows XP с пакетом обновления 3 (SP3), Windows Server 2003 с пакетом обновления 2 (SP2) и Windows Vista с пакетом обновления 1 (SP1). |
PowerShell 1.0 | Ноябрь 2006 г. | Устанавливается в Windows XP с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 1 (SP1) и Windows Vista. Необязательный компонент Windows Server 2008. |
Примечание.
В этом модуле разделы будут относиться как к последним версиям Windows PowerShell, так и к PowerShell (5.1 и 7.5). Большинство командлетов будут работать на любой платформе. Тем не менее, если определенная функция поддерживается или связана только с одной конкретной платформой, отобразится примечание.
Дополнительные сведения. Для поддержки более поздних версий PowerShell в операционных системах нижнего уровня может потребоваться установить последнюю версию Windows Management Framework. Дополнительные сведения см. в статье Установка и настройка WMF 5.1.