Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
úroveň závažnosti : Informace
Description
Toto pravidlo detekuje, kdy jsou příkazy volány se třemi nebo více polohovými parametry místo použití pojmenovaných parametrů. Používání polohových parametrů snižuje čitelnost kódu a může způsobovat chyby. Je možné, že budoucí verze cmdletu se změní tak, že by rozbila existující skripty, pokud by závisely na pozici parametrů.
U jednoduchých cmdletů s několika pozičními parametry je riziko mnohem menší. Aby toto pravidlo nebylo příliš hlučné, nedávejte tři nebo více parametrů. Jednoduchý příklad, kde je riziko použití polohových parametrů zanedbatelné, je .Test-Path $Path
Při volání příkazů používejte celé názvy parametrů.
Example
Nesplňující
Get-Command ChildItem Microsoft.PowerShell.Management
Kompatibilní
Get-Command -Noun ChildItem -Module Microsoft.PowerShell.Management
Konfigurovat pravidlo
Rules = @{
PSAvoidUsingPositionalParameters = @{
CommandAllowList = 'Join-Path', 'MyCmdletOrScript'
Enable = $true
}
}
Parameters
CommandAllowList
Tento parametr specifikuje příkazy nebo skripty, které mají být z tohoto pravidla vyloučeny. Přijímá pole řetězců. Výchozí hodnota je @().
Enable
Tento parametr ovládá, zda ScriptAnalyzer kontroluje kód podle tohoto pravidla. Přijímá booleovskou hodnotu. Pro deaktivaci tohoto pravidla nastavte tento parametr na .$false Výchozí hodnota je $true.