AvoidUsingPositionalParameters

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.