AvoidUsingCmdletAliases

niveau de gravité : avertissement

Description

Cette règle détecte l’utilisation d’alias cmdlet et l’omission du Get- préfixe dans les scénarios d’alias implicites. Un alias est un nom ou un surnom alternatif pour un cmdlet ou un élément de commande, tel qu’une fonction, un script, un fichier ou un fichier exécutable. Bien que vous puissiez utiliser des alias au lieu du nom complet de la commande, cela réduit la lisibilité et la maintenabilité du code.

PowerShell prend également en charge les alias implicites. Lorsqu’un nom de cmdlet n’est pas trouvé, PowerShell ajoute Get- à cette commande en tant que solution de secours. Par exemple, en verb tapant, on Get-Verbexécute .

Les alias créent des incohérences entre les bases de code car différents auteurs apprennent et utilisent différents alias. Les alias peuvent potentiellement rendre le code difficile à lire et à comprendre dans des environnements collaboratifs. Cela peut aussi causer des problèmes de portabilité et de disponibilité des scripts.

L’utilisation de noms complets de cmdlets améliore la clarté du code, facilite la maintenance des scripts et permet une surlignée de syntaxe appropriée dans les éditeurs de code et les plateformes comme GitHub et Visual Studio Code. Utilisez toujours le nom complet du cmdlet au lieu des alias.

Exemple

Non conforme

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

Compliant

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

Règle de configuration

Pour éviter PSScriptAnalyzer de signaler vos alias préférés, créez une liste de permis des alias dans votre fichier de paramètres et pointez PSScriptAnalyzer vers l’utilisation du fichier de paramètres. Par exemple, pour désactiver PSScriptAnalyzer de marquer cd, qui est un alias de Set-Location, définissez le contenu du fichier de paramètres sur ce qui suit.

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