Cmdlet 属性声明

cmdlet 属性将 Microsoft .NET Framework 类标识为 Cmdlet,并指定用于调用 cmdlet 的动词和名词。

语法

[Cmdlet("verbName", "nounName")]
[Cmdlet("verbName", "nounName", Named Parameters...)]

参数

VerbName需要 () 。 指定 cmdlet 谓词。 此谓词指定 cmdlet 执行的操作。 有关批准的 cmdlet 谓词的详细信息,请参阅 Cmdlet 谓词名称所需的开发指南

NounName需要 () 。 指定 cmdlet 名词。 此名词指定该 cmdlet 作用于的资源。 有关 cmdlet 名词的详细信息,请参阅 Cmdlet 声明强烈建议开发指南

SupportsShouldProcess (system.object) 可选的命名参数。 True 指示该 cmdlet 支持对 ShouldProcess 方法的调用,该方法为 cmdlet 提供了一种在执行更改系统的操作之前提示用户的方法。 False默认值为,指示该 cmdlet 不支持对 ShouldProcess 方法的调用。 "。 有关确认请求的详细信息,请参阅 请求确认

ConfirmImpact (Confirmimpact) 可选的命名参数。 指定应通过对 ShouldProcess 方法的调用来确认 cmdlet 的操作的时间的。 仅在默认情况下,ShouldProcess 的 ConfirmImpact 值 (,Medium) 等于或大于变量的值时,才会调用$ConfirmPreference 仅当指定了参数时,才应指定此参数 SupportsShouldProcess

DefaultParameterSetName (system.string) 可选的命名参数。 指定 Windows PowerShell 运行时在无法确定要使用哪个参数时尝试使用的默认参数集。 请注意,可以通过使每个参数的唯一参数设置一个必需的参数来消除这种情况。

这种情况下,即使指定了默认参数集名称,Windows PowerShell 也不能使用默认参数集。 Windows PowerShell 运行时无法仅基于对象类型区分参数集。 例如,如果您有一个采用字符串作为文件路径的参数集和一个直接使用 FileInfo 对象的另一个集,则 Windows PowerShell 无法根据传递给 cmdlet 的值确定要使用的参数集,也不使用默认参数集。 在这种情况下,即使指定默认参数集名称,Windows PowerShell 也会引发不明确的参数集错误消息。

SupportsTransactions (system.object) 可选的命名参数。 True 指示该 cmdlet 可以在事务中使用。 如果 True 指定了,则 Windows PowerShell 运行时将 UseTransaction 参数添加到 cmdlet 的参数列表中。 False默认值为,指示不能在事务中使用该 cmdlet。

备注

  • 同时,动词和名词用于标识已注册的 cmdlet,并在脚本中调用 cmdlet。

  • 在从 Windows PowerShell 控制台调用 cmdlet 时,该命令将类似于以下命令:

VerbName-NounName

  • 在声明 cmdlet 属性时,所有更改资源 Windows PowerShell 的 cmdlet 都应包括 SupportsShouldProcess 关键字,这允许 cmdlet 在 cmdlet 执行操作之前调用ShouldProcess方法,这允许 cmdlet。 如果返回 ShouldProcess 调用 false ,则不应执行该操作。 " 有关 ShouldProcess 调用生成的确认请求的详细信息,请参阅 请求确认

ConfirmWhatIf cmdlet 参数仅可用于支持ShouldProcess调用的 cmdlet 中。

示例

下面的类定义使用 cmdlet 特性来标识用于检索有关在本地计算机上运行的进程的信息的 get-help Cmdlet 的 .NET Framework 类。

[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet

有关 GetProc cmdlet 的 详细信息,请参阅 教程

另请参阅

编写 Windows PowerShell Cmdlet