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: Información **
Descripción
El uso de parámetros posicionales reduce la legibilidad del código y puede introducir errores. Es posible que una versión futura del cmdlet cambie de forma que interrumpa los scripts existentes si las llamadas al cmdlet dependen de la posición de los parámetros.
En el caso de cmdlets simples con solo unos pocos parámetros posicionales, el riesgo es mucho menor. Para evitar que esta regla sea demasiado ruidosa, esta regla solo se desencadena cuando se proporcionan 3 o más parámetros. Un ejemplo sencillo en el que el riesgo de usar parámetros posicionales es insignificante, es Test-Path $Path.
Configuración
Rules = @{
PSAvoidUsingPositionalParameters = @{
CommandAllowList = 'Join-Path', 'MyCmdletOrScript'
Enable = $true
}
}
Parámetros
CommandAllowList: string[] (El valor predeterminado es @()')
Comandos o scripts que se excluirán de esta regla.
Habilitar: bool (el valor predeterminado es $true)
Habilite o deshabilite la regla durante la invocación de ScriptAnalyzer.
Cómo
Use nombres de parámetro completos al llamar a comandos.
Ejemplo
Incorrecto
Get-Command ChildItem Microsoft.PowerShell.Management
Correcto
Get-Command -Noun ChildItem -Module Microsoft.PowerShell.Management