Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.