【发布时间】:2019-04-03 00:04:06
【问题描述】:
使用 CmdletBinding,是否有一种简单的方法可以重复调用 cmdlet 时使用的确切参数,以便我可以使用完全相同的参数调用另一个 cmdlet?
我正在 Powershell 中编写 Powershell Cmdlet。我正在使用高级功能。我有一个名为 Get-Environment 的 cmdlet,带有几个可选参数,例如 [string]EnvironmentName 和 [switch]Active。我有另一个 cmdlet,称为 Get-Machine,具有所有相同的可选参数;它调用Get-Environment。最初,在我添加 [switch]Active 参数之前,我只是显式调用了所有变量的 Get-Environment(见下文)。
我现在不能做同样的事情,因为如果我添加“活动”,那么它将被设置。我不想在 Get-Machine 中进行测试以查看 Active 是否为真并且有两个不同版本的 Get-Environment 调用。我宁愿不必遍历 $PSBoundParameters 哈希表并重建原始字符串,但这看起来是唯一可行的前进方式(除非我遗漏了什么。)
get-machine里面的原始代码:
$environments = get-Environment -EnvironmentName $EnvironmentName
【问题讨论】:
标签: powershell parameters