Condividi tramite


AvoidUsingCmdletAliases

livello di gravità : avviso

Descrizione

Un alias è un nome alternativo o un nome alternativo per un cmdlet o per un elemento di comando, ad esempio una funzione, uno script, un file o un file eseguibile. È possibile usare l'alias anziché il nome del comando in qualsiasi comando di PowerShell.

Esistono anche alias impliciti. Quando PowerShell non riesce a trovare il nome del cmdlet, tenterà di aggiungere Get- al comando come ultima risorsa. Pertanto, l'uso del comando verb eseguirà Get-Verb.

Ogni autore di PowerShell apprende i nomi effettivi dei comandi, ma autori diversi imparano e usano alias diversi. Gli alias possono rendere difficile leggere, comprendere e influire sulla disponibilità del codice.

L'uso del nome completo del comando semplifica la gestione degli script in futuro.

L'uso dei nomi completi dei comandi consente anche l'evidenziazione della sintassi in siti e applicazioni come GitHub e Visual Studio Code.

Come correggere

Usare il nome completo del cmdlet e non un alias.

Alias Allowlist

Per impedire PSScriptAnalyzer di contrassegnare gli alias preferiti, creare un elenco di alias consentiti nel file di impostazioni e puntare PSScriptAnalyzer per usare il file di impostazioni. Ad esempio, per disabilitare PSScriptAnalyzer da contrassegnare cd, che è un alias di Set-Location, impostare il contenuto del file di impostazioni sul seguente.

# PSScriptAnalyzerSettings.psd1

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

Esempio

Sbagliato

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

Corretto

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