Vyhnout seUsingPositionalParameters

ú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.