Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Schweregrad: Warnung
Beschreibung
Diese Regel erkennt die Verwendung von Cmdlet-Aliasen und das Weglassen des Get- Präfixes in impliziten Alias-Szenarien. Ein Alias ist ein alternativer Name oder Spitzname für ein CMDLET oder Befehlselement, wie etwa eine Funktion, ein Skript, eine Datei oder eine ausführbare Datei. Zwar kannst du Aliase anstelle des vollständigen Befehlsnamens verwenden, aber das verringert die Lesbarkeit und Wartungsbarkeit des Codes.
PowerShell unterstützt außerdem implizite Aliase. Wenn kein Cmdlet-Name gefunden wird, fügt Get- PowerShell dem Befehl als Fallback zu. Zum Beispiel führt das Typisieren verb .Get-Verb
Aliase verursachen Inkonsistenz zwischen den Codebasen, weil verschiedene Autoren unterschiedliche Aliase lernen und verwenden. Aliase können Code in kollaborativen Umgebungen potenziell schwer lesbar und verständlich machen. Es kann auch Probleme mit der Skriptportabilität und -verfügbarkeit verursachen.
Die Verwendung vollständiger CMDLET-Namen verbessert die Codeklarheit, erleichtert die Wartung von Skripten und ermöglicht eine korrekte Syntaxhervorhebung in Code-Editoren und Plattformen wie GitHub und Visual Studio Code. Verwende immer den vollständigen CMDLET-Namen statt Aliasnamen.
Beispiel
Nicht konform
gps | Where-Object {$_.WorkingSet -gt 20000000}
Konform
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
Configure rule
Um zu verhindern PSScriptAnalyzer , dass du deine bevorzugten Aliase markierst, erstelle eine Erlaubnisliste der Aliase in deiner Einstellungsdatei und verweise PSScriptAnalyzer darauf, die Einstellungsdatei zu verwenden. Wenn Sie z. B. PSScriptAnalyzer beim Kennzeichnen cddeaktivieren möchten, bei dem es sich um einen Alias von Set-Locationhandelt, legen Sie den Dateiinhalt der Einstellungen auf Folgendes fest.
@{
'Rules' = @{
'PSAvoidUsingCmdletAliases' = @{
'allowlist' = @('cd')
}
}
}