重症度レベル:警告
デフォルト状態:有効
説明
このルールは、単数名詞ではなく複数名詞を使うコマンドレット名を検出します。
PowerShellのベストプラクティスでは、cmdletは複数形ではなく単数名詞を使用することを要求しています。
NounAllowListパラメータを使って特定の名詞をこのルールから除外したり、SuppressMessageAttributeを用いて個々の機能のルールを抑制したりできます。 違反が見つかった場合は、複数形の名詞を単数形に変えてください。
例えば次が挙げられます。
function Get-Elements {
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseSingularNouns', 'Get-Elements')]
Param()
}
Example
非準拠
function Get-Files
{
...
}
対応
function Get-File
{
...
}
ルールの設定
Rules = @{
PSUseSingularNouns = @{
Enable = $true
NounAllowList = 'Data', 'Windows', 'Foos'
}
}
Parameters
Enable
このパラメータは、ScriptAnalyzerがこのルールに対してコードをチェックするかどうかを制御します。 ブール値も受け入れます。 このルールを無効にするには、このパラメータを $falseに設定してください。 既定値は $true です。
NounAllowList
このパラメータは、どの命令名詞をこのルールから除外するかを指定します。 文字列配列を受け入れます。
DataもWindowsも一般的な偽陽性であり、デフォルトで除外されます。 デフォルト値は 'Data' と 'Windows'です。