PowerShell cmdlet是什么?

11

以概念方式接近cmdlets:

  1. 它们是如何制作的?它们是否编译过?

  2. 它是PowerShell的批处理文件等效物吗?它是脚本还是二进制文件?

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


有时候,SO在不要无休止地搜索重新聚合的搜索结果的情况下更好。 - Anonymous Type
4个回答

24

PowerShell的命令是由.NET代码编译而成的,更确切地说,如果我没有弄错的话,它们是单个类。Cmdlet是PowerShell中的"本地"命令,可以处理对象输入和输出,并通常与(基于对象的)管道很好地配合使用。

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

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



3

1
一个 PowerShell cmdlet 是用户创建的扩展 PowerShell 脚本语言的工具。Cmdlet 本身是一个继承自 PSCmdlet 的 .NET 类。通常,额外的组件会与 cmdlet 一起提供帮助和注册 cmdlet。
一个 cmdlet 允许你访问通过 .NET 虚拟机可访问的所有函数。这可以范围从简单的脚本辅助到完全功能的程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接