Подтвердить что ты не робот

Что такое командлет PowerShell?

Приближение командлетов концептуально,

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

  • Это эквивалент пакетного файла для PowerShell? Является ли это script или двоичным?

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

4b9b3361

Ответ 1

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

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

Вы можете написать cmdlets с языком .NET, таким как С#. С PowerShell v2 существует также возможность создания так называемых расширенных функций, которые ведут себя аналогично командлетам и имеют сопоставимые возможности, но интерпретируются как код PowerShell вместо скомпилированных классов. Это может привести к непредвиденным затратам времени выполнения.

Ответ 4

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

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