Powershell 为cmdlet定义创建其他默认参数
创建Powershell脚本或函数时,您可以添加Powershell 为cmdlet定义创建其他默认参数,powershell,cmdlets,Powershell,Cmdlets,创建Powershell脚本或函数时,您可以添加[CmdletBinding()]属性,以获得某些默认参数供使用(例如-Verbose,-Debug等),而无需自己定义。在某些情况下,您可以向CmdletBinding添加其他参数,如SupportsShouldProcess或confirimpact,以进一步添加其他受支持的参数或更改cmdlet行为 是否可以定义自己的CmdletBindings以在模块中使用 是否可以定义自己的CmdletBindings以在模块中使用 不 无论如何,不是在
[CmdletBinding()]
属性,以获得某些默认参数供使用(例如-Verbose
,-Debug
等),而无需自己定义。在某些情况下,您可以向CmdletBinding
添加其他参数,如SupportsShouldProcess
或confirimpact
,以进一步添加其他受支持的参数或更改cmdlet行为
是否可以定义自己的CmdletBindings
以在模块中使用
是否可以定义自己的CmdletBindings
以在模块中使用
不
无论如何,不是在脚本中:)
CmdletBinding
属性属性是在编译任何脚本块或函数之前由处理的,因此您必须重写语言引擎本身的部分以修改其行为。我的理解是,这些属性是由PoSh引擎添加的。如果是这样的话,那么你很可能不能。那只是我的猜测,tho。[grin]可以指定CmdletBindingAttribute
的源代码。它没有标记为sealed
,因此您可以在脚本中自己对其进行扩展并使用新属性。@不可更正1您可以,但不会产生任何效果:)您是否可以使用添加类型
定义您自己的属性并调用表达式
按需编译?可以使用该语言中的class
定义执行此操作。当然,您可以编译所需的所有属性,但这不会对命令运行时产生任何影响,就像[CmdletBinding()]
所做的那样:)