Руководство программиста по Windows PowerShell
Руководство программиста предназначено для разработчиков, заинтересованных в предоставлении среды управления командной строкой системным администраторам. Windows PowerShell предоставляет простой способ создания команд управления, которые предоставляют объекты .NET, позволяя Windows PowerShell выполнять большую часть работы.
В традиционной разработке команд необходимо написать средство синтаксического анализа параметров, привязку параметров, фильтры и все остальные функциональные возможности, предоставляемые каждой командой. Windows PowerShell предоставляет следующие возможности, чтобы упростить написание команд:
Мощная среда выполнения Windows PowerShell (подсистема выполнения) с собственным средством синтаксического анализа и механизмом автоматической привязки параметров команд.
Служебные программы для форматирования и отображения результатов команд с помощью интерпретатора командной строки (CLI).
Поддержка высокого уровня функциональности (через поставщики Windows PowerShell), которая упрощает доступ к хранимым данным.
При небольших затратах можно представить объект .NET с помощью полной команды или набора команд, которые будут предлагать администратору полный интерфейс командной строки.
В следующем разделе рассматриваются основные понятия и термины Windows PowerShell. Ознакомьтесь с этими понятиями и терминами перед началом разработки.
Сведения о Windows PowerShell
Windows PowerShell определяет несколько типов команд, которые можно использовать в разработке. К этим командам относятся функции, фильтры, скрипты, псевдонимы и исполняемые файлы (приложения). Основной тип команды, рассмотренный в этом руководстве, — это простая, небольшая команда, называемая командлетом. Windows PowerShell предоставляет набор командлетов и полностью поддерживает настройку командлетов в соответствии с вашей средой. Среда выполнения Windows PowerShell обрабатывает все типы команд так же, как и командлеты, используя конвейеры.
Помимо команд, Windows PowerShell поддерживает различные настраиваемые поставщики Windows PowerShell, которые предоставляют доступ к определенным наборам командлетов. Оболочка работает в хост-приложении, предоставленном Windows PowerShell (powershell.exe
), но она также доступна из настраиваемого ведущего приложения, которое можно разработать в соответствии с конкретными требованиями. Дополнительные сведения см. в статье о том, как работает Windows PowerShell.
Командлеты Windows PowerShell
Командлет — это упрощенная команда, используемая в среде Windows PowerShell. Среда выполнения Windows PowerShell вызывает эти командлеты в контексте сценариев автоматизации, предоставляемых в командной строке, а среда выполнения Windows PowerShell также вызывает их программным способом через API Windows PowerShell.
Дополнительные сведения о командлетах см. в записи командлета Windows PowerShell.
Поставщики Windows PowerShell
При выполнении административных задач пользователю может потребоваться проверить данные, хранящиеся в хранилище данных (например, файловая система, реестр Windows или хранилище сертификатов). Чтобы упростить эти операции, Windows PowerShell определяет модуль, называемый поставщиком Windows PowerShell, который можно использовать для доступа к определенному хранилищу данных, например к реестру Windows. Каждый поставщик поддерживает набор связанных командлетов, чтобы предоставить пользователю симметричное представление данных в хранилище.
Windows PowerShell предоставляет несколько поставщиков Windows PowerShell по умолчанию. Например, поставщик реестра поддерживает навигацию и управление реестром Windows. Разделы реестра представлены как элементы, а значения реестра рассматриваются как свойства.
Если вы предоставляете хранилище данных, к которому пользователю потребуется доступ, может потребоваться написать собственный поставщик Windows PowerShell, как описано в создании поставщиков Windows PowerShell. Дополнительные сведения о поставщиках PowerShellWindows см. в windows PowerShell.
Хост-приложение
Windows PowerShell включает в себя powershell.exeведущего приложения по умолчанию, которое является консольным приложением, которое взаимодействует с пользователем и размещает среду выполнения Windows PowerShell с помощью окна консоли.
Только редко вам потребуется написать собственное хост-приложение для Windows PowerShell, хотя настройка поддерживается. Один из вариантов, в котором может потребоваться собственное приложение, заключается в том, что у вас есть требование к интерфейсу графического интерфейса, который больше, чем интерфейс, предоставляемый ведущим приложением по умолчанию. Вам также может потребоваться пользовательское приложение при создании графического интерфейса в командной строке. Дополнительные сведения см. в статье How to Create a Windows PowerShell Host Application.
Среда выполнения Windows PowerShell
Среда выполнения Windows PowerShell — это подсистема выполнения, реализующая обработку команд. Он включает классы, которые предоставляют интерфейс между ведущим приложением и командами Windows PowerShell и поставщиками. Среда выполнения Windows PowerShell реализуется как объект пространства выполнения для текущего сеанса Windows PowerShell, который является операционной средой, в которой выполняется оболочка и команды. Сведения о работе см. в windows PowerShell.
Язык Windows PowerShell
Язык Windows PowerShell предоставляет функции скриптов и механизмы для вызова команд. Полные сведения о скриптах см. в справочнике по языку Windows PowerShell, отправленной в Windows PowerShell.
Расширенная система типов (ETS)
Windows PowerShell предоставляет доступ к различным объектам, таким как .NET и XML-объекты. В результате для представления общей абстракции для всех типов объектов оболочка использует свою систему расширенного типа (ETS). Большинство функций ETS прозрачны для пользователя, но сценарий или разработчик .NET используют его в следующих целях:
Просмотр подмножества элементов определенных объектов. Windows PowerShell предоставляет "адаптированное" представление нескольких конкретных типов объектов.
Добавление элементов в существующие объекты.
Доступ к сериализованным объектам.
Написание настраиваемых объектов.
С помощью ETS можно создать гибкие "типы", совместимые с языком Windows PowerShell. Если вы являетесь разработчиком .NET, вы можете работать с объектами, используя ту же семантику, что и язык Windows PowerShell, применяется к скриптам, например, чтобы определить, оценивает ли объект
true
.Дополнительные сведения об ETS и использовании объектов Windows PowerShell см. в концепциях объектов Windows PowerShell.
Программирование для Windows PowerShell
Windows PowerShell определяет свой код для команд, поставщиков и других модулей программы с помощью .NET Framework. Вы не ограничиваетесь использованием Microsoft Visual Studio в создании настраиваемых модулей для Windows PowerShell, хотя примеры, приведенные в этом руководстве, известны как запускаемые в этом средстве. Вы можете использовать любой язык .NET, поддерживающий наследование классов и использование атрибутов. В некоторых случаях API Windows PowerShell требуют, чтобы язык программирования мог получить доступ к универсальным типам.
Справочник программиста
Дополнительные сведения о разработке для Windows PowerShell см. в пакете SDK для Windows PowerShell.
Начало работы с Windows PowerShell
Дополнительные сведения о начале использования оболочки Windows PowerShell см. в Windows PowerShell, поставляемой с Windows PowerShell. В качестве праймера для использования командлета также предоставляется документ с кратким справочником.
Содержимое этого руководства
Тема | Определение |
---|---|
Создание поставщика Windows PowerShell | В этом разделе описывается создание поставщика Windows PowerShell для Windows PowerShell. |
Создание ведущего приложения Windows PowerShell | В этом разделе описывается, как написать хост-приложение, которое управляет пространством выполнения и как написать ведущее приложение, реализующее собственный пользовательский узел. |
Создание оснастки Windows PowerShell | В этом разделе описывается создание оснастки, которая используется для регистрации всех командлетов и поставщиков в сборке и создания пользовательской оснастки. |
Создание консоли оболочки | В этом разделе описывается, как создать консольную оболочку, которая не расширяема. |
основные понятия Windows PowerShell | В этом разделе содержатся концептуальные сведения, которые помогут вам понять Windows PowerShell с точки зрения разработчика. |
См. также
пакета SDK для Windows PowerShell
PowerShell