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 : de información
Descripción
Esta regla detecta cuándo se llaman comandos con tres o más parámetros posicionales en lugar de usar parámetros nombrados. 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 una manera que rompa los scripts existentes si dependen de la posición de los parámetros.
Para cmdlets simples con solo unos pocos parámetros posicionales, el riesgo es mucho menor. Para evitar que esta regla sea demasiado ruidosa, no pongas tres o más parámetros. Un ejemplo sencillo donde el riesgo de usar parámetros posicionales es despreciable es Test-Path $Path.
Usa nombres completos de parámetros al llamar a comandos.
Example
No conforme
Get-Command ChildItem Microsoft.PowerShell.Management
Compliant
Get-Command -Noun ChildItem -Module Microsoft.PowerShell.Management
Configurar regla
Rules = @{
PSAvoidUsingPositionalParameters = @{
CommandAllowList = 'Join-Path', 'MyCmdletOrScript'
Enable = $true
}
}
Parameters
CommandAllowList
Este parámetro especifica comandos o scripts que deben excluirse de esta regla. Acepta una matriz de cuerdas. El valor por defecto es @().
Enable
Este parámetro controla si ScriptAnalyzer comprueba el código con esta regla. Acepta un valor booleano. Para desactivar esta regla, establece este parámetro en $false. El valor por defecto es $true.