重大度レベル: 情報
デフォルト状態:無効化
説明
このルールはコマンドレット名、パラメータ、型名、キーワード、演算子の不整合なケーシングを検出します。 PowerShellは可能な限り大文字を区別しないため、コマンドレット名、パラメータ、キーワード、演算子のケーシングは機能に影響を与えません。
しかし、このルールにより、一貫したケースが確保され、明確さと可読性が保たれます。 小文字のキーワードを使うことでコマンドと区別しやすく、小文字の演算子を使うことでパラメータと区別できます。
このルールに従うには:
- 型名には正確な大文字と小文字を使用します。
- コマンドレット名とパラメータ名には正確なケースを使いましょう。
- 言語キーワードと演算子には小文字を使用します。
例
非準拠
ForEach ($file in Get-childitem -Recurse) {
$file.Extension -EQ '.txt'
}
invoke-command { 'foo' } -runasadministrator
対応
foreach ($file in Get-ChildItem -Recurse) {
$file.Extension -eq '.txt'
}
Invoke-Command { 'foo' } -RunAsAdministrator
ルールの設定
Rules = @{
PSUseCorrectCasing = @{
Enable = $true
CheckCommands = $true
CheckKeyword = $true
CheckOperator = $true
}
}
パラメーター
Enable
このパラメータは、ScriptAnalyzerがこのルールに対してコードをチェックするかどうかを制御します。 ブール値も受け入れます。 このルールを有効にするには、このパラメータを $trueに設定します。 既定値は $false です。
チェックコマンド
このパラメータは、すべてのコマンド名やパラメータ名のケースが標準的なケースと一致しているかどうかをScriptAnalyzerがチェックするかどうかを制御します。 ブール値も受け入れます。 既定値は $true です。
チェックキーワード
このパラメータは、ScriptAnalyzerがすべての言語キーワードが小文字かどうかをチェックするかどうかを制御します。 ブール値も受け入れます。 既定値は $true です。
チェックオペレーター
このパラメータは、ScriptAnalyzerがすべての演算子が小文字であるかどうかをチェックするかどうかを制御します。 たとえば、 -eq、 -ne、 -gtなどです。 ブール値も受け入れます。 既定値は $true です。