Командлет PowerShell - это скомпилированный фрагмент кода .NET, точнее один класс, если я не ошибаюсь. Командлеты являются своего рода «нативными» командами в PowerShell, они способны обрабатывать ввод и вывод объектов, а также обычно хорошо и хорошо работают с конвейером (на основе объектов).
Командлеты не имеют прямого представления в файловой системе, поскольку они не являются программами или аналогичными. Они существуют исключительно в PowerShell. Вы можете использовать командлет Get-Command
для запроса всех доступных командлетов, функций и т. Д.
Вы можете писать командлеты с использованием языка .NET, например C #. В PowerShell v2 также существует возможность написания так называемых расширенных функций , которые ведут себя аналогично командлетам и имеют сопоставимые возможности, но интерпретируются как код PowerShell вместо скомпилированных классов. Это может привести к накладным расходам во время выполнения.