AvoidAssignmentToAutomaticVariable

Schweregrad: Warnung

Beschreibung

Diese Regel erkennt Zuweisungen an automatische Variablen und Parameternamen, die automatische Variablennamen verwenden. PowerShell definiert automatisch Variablen, die interne Zustandsinformationen speichern, und verwaltet sie eigenständig. Auch wenn man viele automatische Variablen überschreiben kann , kann dies unerwartete Auswirkungen für Nutzer haben und den Code schwerer zu warten und zu debuggen machen.

Vermeiden Sie es, automatische Variablennamen in Ihren Funktionen und Parametern zu verwenden. Automatische Variablen nur für die interne Nutzung von PowerShell reservieren und sich darauf verlassen, dass sie nur Zustandsinformationen lesen.

Um mehr zu erfahren, siehe about_Automatic_Variables.

Wie?

Verwenden Sie Variablennamen in Funktionen oder deren Parameter, die nicht mit automatischen Variablen kollidieren.

Example

Nicht konform

Die Variable $Error ist eine automatische Variable, die im globalen Scope existiert und daher niemals als Variablen- oder Parametername verwendet werden sollte.

function foo($Error){ }
function Get-CustomErrorMessage($ErrorMessage){ $Error = "Error occurred: $ErrorMessage" }

Konform

function Get-CustomErrorMessage($ErrorMessage){ $FinalErrorMessage = "Error occurred: $ErrorMessage" }