0

我想知道 whatif 参数是否已传递给 cmdlet。

例如:remove-mycmdlet -whatif

我试图通过查找变量的值来做到这一点:WhatIfPreference

但它总是产生错误。

你能告诉我如何知道whatif参数是否传入?

非常感谢,

问候, 纳雷什

4

1 回答 1

0

当我这样定义函数时:

function Test-WhatIf {
[CmdletBinding(SupportsShouldProcess = $true)]
param (
)

    $WhatIfPreference
    $PSBoundParameters.ContainsKey('WhatIf')
}

我得到 $false 或 $true,这取决于在命令中添加 -WhatIf。虽然这只是高级功能,但我不希望在编译命令中有不同的行为......你确定你已经正确实现了 SupportsShouldProcess 吗?

于 2012-05-16T19:31:37.093 回答