在 Powershell 模块中,您可以使用自定义属性装饰函数,以便您可以运行 Get-Command -Module (或类似的东西)以根据用户条件获取函数子集?
我发现最近的相关问题是: 我可以用我自己的自定义属性装饰高级 PowerShell 函数吗?
在 Powershell 模块中,您可以使用自定义属性装饰函数,以便您可以运行 Get-Command -Module (或类似的东西)以根据用户条件获取函数子集?
我发现最近的相关问题是: 我可以用我自己的自定义属性装饰高级 PowerShell 函数吗?
您可以创建自己的属性,但 Get-Command 对它们一无所知。但是,您可以编写自己的函数来获取具有指定属性的函数,例如:
Get-Command -Module <moduleName> -CommandType Function |
Where {$_.Scriptblock.Attributes.TypeId.Name -match 'CmdletBindingAttribute'}
请注意,这使用了 PowerShell v3 的成员枚举功能。如果您使用的是 V2,您将需要执行以下操作:
Get-Command -Module <moduleName> -CommandType Function |
Where {$_.Scriptblock.Attributes | Foreach {$_.TypeId.Name -match 'CmdletBindingAttribute'}}
顺便说一句,获得函数子集的另一种方法是使用动词和名词的标准,例如:
Get-Command -Module <moduleName> Get-*
Get-Command -Module <moduleName> *-SomeNoun