2009-07-10 3 views
10

Подойдя командлетов в концептуальном пути,Что такое командлет PowerShell?

  1. Как они сделаны? Составлены ли они?

  2. Это эквивалент пакетного файла для PowerShell? Это сценарий или двоичный файл?

  3. Какова структура, используемая для хранения этих командлетов?

+0

SO иногда лучше, чем траление, повторно агрегированные результаты поиска беспрерывно. –

ответ

23

PowerShell командлет представляет собой скомпилированный фрагмент кода .NET, точнее один класс, если я не ошибаюсь. Командлеты являются «родными» командами на земле PowerShell, способными обрабатывать ввод и вывод объектов, а также, как правило, хорошо работать с конвейером (объектно-ориентированным).

Командлеты не имеют прямого представления в файловой системе, поскольку они не являются программами или подобными. Они существуют исключительно в PowerShell. Вы можете использовать командлет Get-Command для запроса всех доступных командлетов, функций и т. Д.

write cmdlets с языком .NET, таким как C#. С PowerShell v2 существует также возможность писать так называемые advanced functions, которые ведут себя аналогично командлетам и имеют сопоставимые возможности, но интерпретируются как код PowerShell, а не скомпилированные классы. Это может привести к непредвиденным затратам времени выполнения.

1

Командлет PowerShell является созданным пользователем расширением языка сценариев PowerShell. Сам же сам класс .NET, простирающийся от PSCmdlet. Обычно дополнительные компоненты включаются вместе с командлетом для предоставления справки и регистрации командлета.

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

Смежные вопросы