AvoidUsingCmdletAliases

allvarlighetsgrad: Varning

Beskrivning

Denna regel upptäcker användning av cmdlet-aliaser och utelämnande Get- av prefixet i implicita aliasscenarier. Ett alias är ett alternativt namn eller smeknamn för en cmdlet eller kommandoelement, såsom en funktion, skript, fil eller körbar fil. Även om du kan använda alias istället för hela kommandonamnet, minskar det kodläsbarheten och underhållbarheten.

PowerShell stöder också implicita alias. När ett cmdlet-namn inte hittas läggs PowerShell till Get- kommandot som en reservplan. Till exempel utför Get-Verbtypning verb .

Alias skapar inkonsekvens mellan kodbasar eftersom olika författare lär sig och använder olika alias. Alias kan potentiellt göra kod svår att läsa och förstå i samarbetsmiljöer. Det kan också orsaka problem med manusportabilitet och tillgänglighet.

Att använda fullständiga cmdlet-namn förbättrar kodklarheten, gör skript lättare att underhålla och möjliggör korrekt syntaxmarkering i kodredigerare och plattformar som GitHub och Visual Studio Code. Använd alltid hela cmdlet-namnet istället för alias.

Exempel

Ej överensstämmande

gps | Where-Object {$_.WorkingSet -gt 20000000}

Godkänd

Get-Process | Where-Object {$_.WorkingSet -gt 20000000}

Konfigurera regel

För att undvika PSScriptAnalyzer att flagga dina föredragna alias, skapa en tillåtslista över aliasen i din inställningsfil och peka PSScriptAnalyzer på att använda inställningsfilen. Om du till exempel vill inaktivera PSScriptAnalyzer från att flagga cd, som är ett alias för Set-Location, anger du innehållet i inställningsfilen till följande.

@{
    'Rules' = @{
        'PSAvoidUsingCmdletAliases' = @{
            'allowlist' = @('cd')
        }
    }
}