重症度レベル:警告
説明
このルールは、自動変数名を使用する変数やパラメータ名への割り当てを検出します。 PowerShellは内部状態情報を格納する変数を自動的に定義し、それらを自動で管理します。 多くの自動変数を上書き できます が、それを行うとユーザーに予期せぬ影響が出たり、コードの保守やデバッグが難しくなることがあります。
関数やパラメータで自動変数名を使うのは避けてください。 自動変数はPowerShellの内部利用専用に予約し、状態情報の読み取りにのみ依存してください。
詳しくは about_Automatic_Variablesをご覧ください。
どのように
関数やそのパラメータで自動変数と競合しない変数名を使いましょう。
Example
非準拠
変数 $Error はグローバルスコープに存在する自動変数であり、したがって変数やパラメータ名として使ってはなりません。
function foo($Error){ }
function Get-CustomErrorMessage($ErrorMessage){ $Error = "Error occurred: $ErrorMessage" }
対応
function Get-CustomErrorMessage($ErrorMessage){ $FinalErrorMessage = "Error occurred: $ErrorMessage" }