AvoidUsingCmdletAliases

ernstniveau: waarschuwing

Beschrijving

Deze regel detecteert het gebruik van cmdlet-aliasen en het weglaten van het Get- voorvoegsel in scenario's met impliciete alias. Een alias is een alternatieve naam of bijnaam voor een cmdlet of commando-element, zoals een functie, script, bestand of uitvoerbaar bestand. Hoewel je aliasen kunt gebruiken in plaats van de volledige commandonaam, vermindert dit de leesbaarheid en onderhoudbaarheid van de code.

PowerShell ondersteunt ook impliciete aliasen. Wanneer een cmdlet-naam niet wordt gevonden, voegt Get- PowerShell zich aan het commando toe als een fallback. Bijvoorbeeld, typen verb voert Get-Verbuit .

Aliassen veroorzaken inconsistentie tussen codebases omdat verschillende auteurs verschillende aliassen leren en gebruiken. Aliassen kunnen code mogelijk moeilijk lezen en begrijpen maken in samenwerkingsomgevingen. Het kan ook problemen veroorzaken met de portabiliteit en beschikbaarheid van het script.

Het gebruik van volledige cmdlet-namen verbetert de codehelderheid, maakt scripts makkelijker te onderhouden en maakt correcte syntaxis-markering mogelijk in code-editors en platforms zoals GitHub en Visual Studio Code. Gebruik altijd de volledige cmdlet-naam in plaats van aliassen.

Voorbeeld

Niet conform

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

Compliant

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

Configureerregel

Om te voorkomen PSScriptAnalyzer dat je je voorkeursaliassen markeert, maak je een toestaanslijst van de aliassen in je instellingenbestand en wijs PSScriptAnalyzer je naar het instellingenbestand. Als u bijvoorbeeld PSScriptAnalyzer wilt uitschakelen van het markeren van cd, een alias van Set-Location, stelt u de inhoud van het instellingenbestand in op het volgende.

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