AvoidUsingPositionalParameters

livello di gravità : informazioni

Description

Questa regola rileva quando vengono chiamati comandi con tre o più parametri posizionali invece di usare parametri nominati. L'uso di parametri posizionali riduce la leggibilità del codice e può introdurre errori. È possibile che una versione futura del cmdlet cambi in modo da rompere gli script esistenti se si basano sulla posizione dei parametri.

Per semplici cmdlet con pochi parametri posizionali, il rischio è molto più basso. Per evitare che questa regola sia troppo rumorosa, non fornire tre o più parametri. Un esempio semplice in cui il rischio di usare parametri posizionali è trascurabile è Test-Path $Path.

Usa i nomi completi dei parametri quando chiami i comandi.

Example

Non conforme

Get-Command ChildItem Microsoft.PowerShell.Management

Compliant

Get-Command -Noun ChildItem -Module Microsoft.PowerShell.Management

Configurare regola

Rules = @{
    PSAvoidUsingPositionalParameters = @{
        CommandAllowList = 'Join-Path', 'MyCmdletOrScript'
        Enable           = $true
    }
}

Parameters

CommandAllowList

Questo parametro specifica comandi o script da escludere da questa regola. Accetta una matrice di stringhe. Il valore predefinito è @().

Enable

Questo parametro controlla se ScriptAnalyzer verifica il codice rispetto a questa regola. Accetta un valore booleano. Per disabilitare questa regola, imposta questo parametro su $false. Il valore predefinito è $true.