Cmdlet 属性将 Microsoft .NET Framework 类标识为 cmdlet,并指定用于调用 cmdlet 的谓词和名词。
语法
[Cmdlet("verbName", "nounName")]
[Cmdlet("verbName", "nounName", Named Parameters...)]
参数
VerbName
(System.String) 必需。 指定 cmdlet 谓词。 此谓词指定 cmdlet 执行的作。 有关批准的 cmdlet 谓词的详细信息,请参阅 Cmdlet 谓词名称 和 所需的开发指南。
NounName
(System.String) 必需。 指定 cmdlet 名词。 此名词指定 cmdlet 对其执行作的资源。 有关 cmdlet 名词的详细信息,请参阅 Cmdlet 声明 和 强烈建议的开发准则。
SupportsShouldProcess
(System.Boolean) 可选命名参数。
True
指示 cmdlet 支持调用 System.Management.Automation.Cmdlet.ShouldProcess 方法,该方法为 cmdlet 提供了在执行更改系统的作之前提示用户的方法。
False
,默认值指示 cmdlet 不支持调用 System.Management.Automation.Cmdlet.ShouldProcess 方法。 有关确认请求的详细信息,请参阅请求确认。
ConfirmImpact
(System.Management.Automation.ConfirmImpact) 可选命名参数。 指定何时应通过调用 System.Management.Automation.Cmdlet.ShouldProcess 方法确认 cmdlet 的作。
System.Management.Automation.Cmdlet.ShouldProcess 仅在 cmdlet 的 ConfirmImpact 值(默认情况下,Medium)等于或大于 $ConfirmPreference
变量的值时调用。 仅当指定 SupportsShouldProcess
参数时,才应指定此参数。
DefaultParameterSetName
(System.String) 可选命名参数。 指定 Windows PowerShell 运行时在无法确定要使用的参数集时尝试使用的默认参数集。 请注意,通过将每个参数的唯一参数设置为必需参数,可以消除这种情况。
在某些情况下,即使指定了默认参数集名称,Windows PowerShell 也无法使用默认参数集。 Windows PowerShell 运行时无法仅根据对象类型区分参数集。 例如,如果你有一个参数集,该参数集采用字符串作为文件路径,另一个设置直接采用 FileInfo 对象,则 Windows PowerShell 无法根据传递给 cmdlet 的值确定要使用的参数集,也不会使用默认参数集。 在这种情况下,即使指定了默认参数集名称,Windows PowerShell 也会引发不明确的参数集错误消息。
SupportsTransactions
(System.Boolean) 可选命名参数。
True
指示可以在事务中使用 cmdlet。 指定 True
时,Windows PowerShell 运行时会将 UseTransaction
参数添加到 cmdlet 的参数列表中。
False
,默认值指示无法在事务中使用 cmdlet。
注解
谓词和名词一起用于标识已注册的 cmdlet 并在脚本中调用 cmdlet。
从 Windows PowerShell 控制台调用 cmdlet 时,该命令类似于以下命令:
VerbName-NounName
- 声明 Cmdlet 属性时,更改 Windows PowerShell 外部资源的所有 cmdlet 都应包括
SupportsShouldProcess
关键字,这允许 cmdlet 在 cmdlet 执行其作之前调用 System.Management.Automation.Cmdlet.ShouldProcess 方法。 如果 System.Management.Automation.Cmdlet.ShouldProcess 调用返回false
,则不应执行该作。 有关 System.Management.Automation.Cmdlet.ShouldProcess 调用生成的确认请求的详细信息,请参阅 请求确认。
Confirm
和 WhatIf
cmdlet 参数仅适用于支持 System.Management.Automation.Cmdlet.ShouldProcess 调用的 cmdlet。
示例
以下类定义使用 Cmdlet 属性来标识 Get-Proc cmdlet 的 .NET Framework 类,该 cmdlet 检索有关本地计算机上运行的进程的信息。
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet
有关 get-Proc cmdlet 的详细信息,请参阅 GetProc 教程。