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

подходим к командлетам концептуальным образом,

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

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

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

4 ответов


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

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

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


эта ссылка может помочь в понимании командлета powershell:

http://www.powershellpro.com/powershell-tutorial-introduction/tutorial-powershell-cmdlet/



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

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