11

以概念方式接近 cmdlet,

  1. 它们是如何制作的?他们编译了吗?

  2. 它是否相当于 PowerShell 的批处理文件?它是脚本还是二进制文件?

  3. 用于存储这些 cmdlet 的结构是什么?

4

4 回答 4

24

PowerShell cmdlet 是一段编译的 .NET 代码,如果我没记错的话,更准确地说是一个类。Cmdlet 是 PowerShell 领域中的一种“本机”命令,能够处理对象输入和输出,并且通常与(基于对象的)管道配合得很好。

Cmdlet 在文件系统中没有直接表示,因为它们不是程序或类似的。它们仅存在于 PowerShell 中。您可以使用Get-Commandcmdlet 查询所有可用的 cmdlet、函数等。

您可以使用 .NET 语言(例如 C#)编写 cmdlet 。使用 PowerShell v2 还可以编写所谓的高级函数,这些函数的行为类似于 cmdlet 并具有类似的功能,但它们是解释的 PowerShell 代码,而不是编译的类。这可能会导致运行时开销。

于 2009-07-10T20:04:03.020 回答
3

此链接可能有助于理解 powershell cmdlet:

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

于 2009-07-10T20:01:31.403 回答
3

请参阅使用 Windows PowerShell 编写脚本

于 2009-07-10T20:05:36.887 回答
1

PowerShell cmdlet 是用户创建的 PowerShell 脚本语言扩展。Cmdlet 本身是从 PSCmdlet 扩展而来的.NET类。通常,cmdlet 中包含其他组件以提供帮助和注册 cmdlet。

cmdlet 允许您访问可通过 .NET 虚拟机访问的所有功能。这可以从简单的脚本辅助到功能齐全的程序。

于 2009-07-11T13:37:08.750 回答