Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Редакционная заметка
Важный
Спецификация языка Windows PowerShell 3.0 была опубликована в декабре 2012 года и основывается на Windows PowerShell 3.0. Эта спецификация не отражает текущее состояние PowerShell. Нет плана обновить эту документацию, чтобы отразить текущее состояние. Эта документация представлена здесь для получения исторической справки.
Документ спецификации доступен в виде документа Microsoft Word на сайте Центра загрузок Майкрософт: https://www.microsoft.com/download/details.aspx?id=36389. Этот документ формата Word был преобразован для презентации на платформе Microsoft Learn. Во время преобразования некоторые редакционные изменения были внесены в соответствии с форматированием платформы Docs. Исправлены некоторые опечатки и незначительные ошибки.
1. Введение
PowerShell — это командная строка оболочки и язык сценариев, разработанный специально для системных администраторов.
Большинство оболочек работают, выполняя команду или служебную программу в новом процессе, и представляют результаты пользователю в виде текста. Эти оболочки также имеют команды, встроенные в оболочку и запускаемые в процессе оболочки. Так как есть несколько встроенных команд, многие служебные программы были созданы для их дополнения. PowerShell очень отличается. Вместо обработки текста оболочка обрабатывает объекты. PowerShell также включает большой набор встроенных команд с каждым из них с согласованным интерфейсом, и они могут работать с пользовательскими командами.
Объект — это сущность данных с свойствами (т. е. характеристиками) и методами (т. е. действия, которые могут выполняться в объекте). Все объекты одного типа имеют одинаковый базовый набор свойств и методов, но каждый экземпляр экземпляра объекта может иметь разные значения свойств.
Основным преимуществом использования объектов является то, что гораздо проще конвейеризовать команды: то есть передавать выходные данные одной команды в другую команду в качестве входных. (В традиционной среде командной строки текстовые выходные данные одной команды необходимо манипулировать для соответствия входному формату другого.)
PowerShell включает очень широкий язык скриптов, который поддерживает конструкции для циклов, условий, управления потоками и назначения переменных. Этот язык имеет функции синтаксиса и ключевые слова, аналогичные тем, которые используются на языке программирования C# (§C.).
В PowerShell есть четыре типа команд: скрипты, функции и методы, командлеты и собственные команды.
Файл команд называется скриптом . По соглашению скрипт имеет расширение имени файла .ps1. Самый верхний уровень программы PowerShell — это скрипт, который, в свою очередь, может вызывать другие команды.
PowerShell поддерживает модульное программирование с помощью именованных процедур. Процедура, написанная в PowerShell, называется функцией, а внешняя процедура, доступная средой выполнения (и обычно написанная на другом языке), называется методом .
Командлет (произносится как "command-let") — это простое командное средство для выполнения одной задачи. Хотя командлет может использоваться самостоятельно, полная мощность командлетов реализуется при их сочетании для выполнения сложных задач.
Собственная команда является частью среды хоста.
При каждом запуске среды выполнения PowerShell начинается то, что называется сеанс. Затем команды выполняются в контексте этого сеанса.
Эта спецификация определяет язык PowerShell, встроенные командлеты и использование объектов через конвейер.
В отличие от большинства оболочек, которые принимают и возвращают текст, Windows PowerShell построен на .NET Framework и общей языковой среде выполнения (CLR), и принимает и возвращает объекты .NET Framework.
PowerShell