Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nivel de gravedad de : advertencia
Descripción
Esta regla detecta el uso de alias cmdlet y la omisión del Get- prefijo en escenarios de alias implícitos. Un alias es un nombre alternativo o apodo para un cmdlet o elemento de comando, como una función, script, archivo o archivo ejecutable. Aunque puedes usar alias en lugar del nombre completo del comando, hacerlo reduce la legibilidad y la mantenibilidad del código.
PowerShell también soporta alias implícitos. Cuando no se encuentra el nombre de un cmdlet, PowerShell se añade Get- al comando como respaldo. Por ejemplo, al verb escribir se ejecuta Get-Verb.
Los alias crean inconsistencias entre bases de código porque diferentes autores aprenden y usan distintos alias. Los alias pueden dificultar la lectura y la comprensión del código en entornos colaborativos. También puede causar problemas con la portabilidad y disponibilidad de los scripts.
Usar nombres completos de cmdlets mejora la claridad del código, facilita el mantenimiento de los scripts y permite un resaltado de sintaxis adecuado en editores de código y plataformas como GitHub y Visual Studio Code. Usa siempre el nombre completo del cmdlet en lugar de alias.
Ejemplo
No conforme
gps | Where-Object {$_.WorkingSet -gt 20000000}
Compliant
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
Configurar regla
Para evitar PSScriptAnalyzer que te marquen tus alias preferidos, crea una lista de permisos de los alias en tu archivo de configuración y apunta PSScriptAnalyzer para usar el archivo de configuración. Por ejemplo, para deshabilitar PSScriptAnalyzer marcar cd, que es un alias de Set-Location, establezca el contenido del archivo de configuración en lo siguiente.
@{
'Rules' = @{
'PSAvoidUsingCmdletAliases' = @{
'allowlist' = @('cd')
}
}
}