重症度レベル:エラー
デフォルト状態:常に有効
Description
このルールは、高度な関数で 共通パラメータ を再定義しようとした際に検出します。
CmdletBinding属性やParameter属性を使うと、高度な関数が作成されます。 共通パラメータは高度な関数で自動的に利用可能なので、再定義することはできません。 共通のパラメータと競合するパラメータ名を使おうとする場合は、そのパラメータ名を別のものに変更する必要があります。
例
非準拠
function Test
{
[CmdletBinding()]
Param
(
$ErrorVariable,
$Parameter2
)
}
対応
function Test
{
[CmdletBinding()]
Param
(
$Err,
$Parameter2
)
}
ルールの設定
このルールは常に有効で、設定はできません。 このルールを避けるために、以下のいずれかの方法を用いてください。
- 欲しいルールだけを含めるか、不要なルールを除外するカスタムルール設定ファイルを作成しましょう。
- 特定のコードブロックに対してルール抑制を抑制するために、適切なルール抑制属性をコードに追加してください。 詳細については、PSScriptAnalyzerの使用に関する「抑制ルール」セクションをご覧ください。