Compartilhar via


AvoidUsingCmdletAliases

Nível de gravidade: aviso

Descrição

Um alias é um nome ou apelido alternativo para um cmdlet ou para um elemento de comando, como uma função, script, arquivo ou arquivo executável. Você pode usar o alias em vez do nome do comando em qualquer comando do PowerShell.

Também há aliases implícitos. Quando o PowerShell não encontrar o nome do cmdlet, ele tentará acrescentar Get- ao comando como último recurso. Portanto, usar o comando verb executará Get-Verb.

Cada autor do PowerShell aprende os nomes de comando reais, mas autores diferentes aprendem e usam aliases diferentes. Os aliases podem dificultar a leitura, o entendimento e o impacto da disponibilidade do código.

Usar o nome de comando completo facilita a manutenção de seus scripts no futuro.

Usar os nomes de comando completos também permite realce de sintaxe em sites e aplicativos como o GitHub e o Visual Studio Code.

Como corrigir

Use o nome completo do cmdlet e não um alias.

Lista de permissões do Alias

Para impedir que PSScriptAnalyzer sinalizem seus aliases preferenciais, crie uma lista de permissões dos aliases no arquivo de configurações e aponte PSScriptAnalyzer para usar o arquivo de configurações. Por exemplo, para desabilitar PSScriptAnalyzer de sinalizar cd, que é um alias de Set-Location, defina o conteúdo do arquivo de configurações para o seguinte.

# PSScriptAnalyzerSettings.psd1

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

Exemplo

Errado

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

Correto

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