当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Cmdlet 属性声明

作者:精品下载站 日期:2024-12-14 02:53:12 浏览:13 分类:玩电脑

Cmdlet 属性声明


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 的操作。仅当 cmdlet 的ConfirmImpact 值(默认为Medium)等于或大于$ConfirmPreference 变量的值时,才会调用System.Management.Automation.Cmdlet.ShouldProcess。仅当指定 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 时,该命令类似于以下命令:

动词名-名词名

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

ConfirmWhatIf 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 教程。

参见

编写 Windows PowerShell Cmdlet

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯