Что такое PowerShell?

Завершено

PowerShell состоит из двух частей: оболочки командной строки и языка сценариев. Она была разработана как платформа для автоматизации административных задач в Windows. PowerShell развилась до кроссплатформенного средства, которое используется для выполнения многих типов задач.

Оболочка командной строки не имеет графического интерфейса, где для взаимодействия с графическими элементами используется мышь. Вместо этого пользователь вводит текстовые команды в консоли компьютера. Ниже приведены некоторые преимущества консоли.

  • Взаимодействие с консолью зачастую быстрее, чем при использовании графического интерфейса.
  • В консоли можно запускать пакетное выполнение команд, что идеально подходит для автоматизации задач для конвейеров непрерывной интеграции.
  • Консоль можно использовать для взаимодействия с облачными и другими ресурсами.
  • Команды и сценарии можно хранить в текстовом файле, а также использовать систему управления версиями. Эта возможность, вероятно, является одним из самых больших преимуществ, так как команды являются повторяемыми и проверяемыми. Во многих системах, особенно в правительственных системах, необходимо отслеживать и оценивать, а также выполнять аудит абсолютно всех операций. Аудит охватывает все, от изменений, внесенных в базу данных, до изменений, выполненных сценарием.

Функции

В PowerShell применяются некоторые функции, характерные для традиционных оболочек:

  • Встроенная справочная система. Большинство оболочек имеют подобие справочной системы, из которой можно получить дополнительные сведения о команде. Например, можно узнать, что делает команда и какие параметры она поддерживает. Справочная система в PowerShell не только предоставляет сведения о командах, но также интегрируется со статьями справки в Интернете.
  • Конвейер. Традиционные оболочки используют конвейер для последовательного выполнения множества команд. Выходные данные одной команды являются входными данными для следующей команды. В PowerShell реализована эта концепция, характерная для традиционных оболочек, однако она отличается, поскольку работает с объектами поверх текста. Дополнительные сведения об этой функции см. далее в этом модуле.
  • Псевдонимы: псевдонимы — это альтернативные имена, которые можно использовать для выполнения команд. PowerShell поддерживает использование общих псевдонимов, таких как cls (очистка экрана) и ls (вывод списка файлов). Поэтому новые пользователи могут применять свои знания о других платформах и необязательно запоминать имя PowerShell для выполнения знакомых команд.

PowerShell имеет ряд отличий от традиционной оболочки командной строки:

  • Она работает с объектами поверх текста. В оболочке командной строки необходимо выполнять сценарии, выходные и входные данные которых могут отличаться, поэтому вы можете тратить время на форматирование выходных данных и извлечение нужной вам информации. В PowerShell же в качестве входных и выходных данных используются объекты. Это означает, что вы тратите меньше времени на форматирование и извлечение.
  • Она содержит командлеты. Команды в PowerShell называются командлетами (произносится как командлеты). В PowerShell командлеты создаются на основе общей среды выполнения, а не отдельных исполняемых файлов, так как они находятся во многих других средах оболочки. Эта особенность обеспечивает единообразие при обработке параметров и поведении конвейера. Как правило, командлеты принимают объекты в качестве входных данных, и возвращаются также объекты. Основные командлеты в PowerShell встроены в .NET Core и являются открытыми. Вы можете расширить PowerShell с помощью дополнительных командлетов, скриптов и функций сообщества и других источников, а также создать собственные командлеты в .NET Core или PowerShell.
  • Она содержит множество типов команд. Командами в PowerShell могут быть собственные исполняемые файлы, командлеты, функции, сценарии или псевдонимы. Каждая выполняемая команда принадлежит одному из этих типов. Слова команды и командлеты часто взаимозаменяемы, так как командлет — это тип команды.

Установка

В этом модуле вы используете PowerShell на компьютере. PowerShell доступна на разных платформах. Однако если вы используете компьютер под управлением Linux, macOS или более старой версии Windows, необходимо установить его.

Инструкции по установке PowerShell для каждой ОС отличаются. Прежде чем продолжить, уделите время установке PowerShell или проверке установки PowerShell. В следующем уроке показано, как проверить установку.

Windows

Если вы используете Windows 8 или более позднюю версию, то на компьютере должна быть установлена версия PowerShell, которая называется Windows PowerShell. Эта версия немного отличается от самой последней версии PowerShell, но она прекрасно подходит для обучения.

Windows PowerShell можно открыть из меню "Пуск".

Другие операционные системы

Если компьютер работает под управлением операционной системы, отличной от Windows 8 или более поздней версии, необходимо установить PowerShell. Соответствующие инструкции по установке см. в разделе Установка различных версий PowerShell.

Расширение PowerShell для Visual Studio Code

Для создания сценариев PowerShell и выполнения команд в этом модуле рекомендуется использовать расширение PowerShell для Visual Studio Code. Это расширение не только позволяет выполнять команды, но и содержит макросы для написания фрагментов кода, позволяет выполнять код и обеспечивает подсветку синтаксиса.