AvoidUsingCmdletAliases

livello di gravità : avviso

Descrizione

Questa regola rileva l'uso di alias cmdlet e l'omissione del Get- prefisso negli scenari di alias impliciti. Un alias è un nome o soprannome alternativo per un cmdlet o un elemento di comando, come una funzione, script, file o file eseguibile. Anche se puoi usare alias invece del nome completo del comando, farlo riduce la leggibilità e la manutenibilità del codice.

PowerShell supporta anche gli alias impliciti. Quando non si trova il nome di un cmdlet, PowerShell viene Get- aggiunto al comando come soluzione di riserva. Ad esempio, digitando verb si esegue Get-Verb.

Gli alias creano incoerenze tra le basi di codice perché autori diversi imparano e usano alias differenti. Gli alias possono potenzialmente rendere il codice difficile da leggere e comprendere in ambienti collaborativi. Può anche causare problemi con la portabilità e la disponibilità degli script.

L'uso di nomi completi di cmdlet migliora la chiarezza del codice, rende gli script più facili da mantenere e consente un corretto evidenziamento della sintassi negli editor di codice e nelle piattaforme come GitHub e Visual Studio Code. Usa sempre il nome completo del cmdlet invece degli alias.

Esempio

Non conforme

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

Compliant

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

Configurare regola

Per evitare PSScriptAnalyzer di segnalare i tuoi alias preferiti, crea una lista di permessi degli alias nel file delle impostazioni e punta PSScriptAnalyzer a usare il file delle impostazioni. Ad esempio, per disabilitare PSScriptAnalyzer da contrassegnare cd, che è un alias di Set-Location, impostare il contenuto del file di impostazioni sul seguente.

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