严重性级别:警告
默认状态:始终启用
描述
该规则检测函数和指令重组中参数的手动声明WhatIfConfirm。
与其手动声明这些参数,不如用 CmdletBinding 属性 作为 SupportsShouldProcess 命名参数。
这种方法会自动提供这两个参数以及内置功能,让你和你的用户都能获得一致的互动体验。 使用 SupportsShouldProcess 更易维护,且提供标准行为且无需额外代码。
例
非符合性
function foo {
param(
$param1,
$Confirm,
$WhatIf
)
}
合规的
function foo {
[CmdletBinding(SupportsShouldProcess)]
param(
$param1
)
}
配置规则
这个规则始终是启用的,不能配置。 请采用以下方法之一以避免使用此规则:
- 创建一个自定义规则配置文件,只包含你想要的规则,或者排除你不想要的规则。
- 在代码中添加相应的规则抑制属性,以抑制特定代码块的规则。 更多信息请参见使用 PSScriptAnalyzer 中的“抑制规则”部分。