AvoidUsingPositionalParameters (UndvikandePositionerParametrar)

allvarlighetsgrad: Information

Beskrivning

Denna regel upptäcker när kommandon anropas med tre eller fler positionsparametrar istället för att använda namngivna parametrar. Användning av positionsparametrar minskar kodläsbarheten och kan introducera fel. Det är möjligt att en framtida version av cmdleten kan ändras på ett sätt som bryter befintliga skript om de förlitar sig på parameterposition.

För enkla cmdlets med bara några få positionsparametrar är risken mycket mindre. För att förhindra att denna regel blir för bullrig, ange inte tre eller fler parametrar. Ett enkelt exempel där risken med att använda positionsparametrar är försumbar är Test-Path $Path.

Använd fullständiga parameternamn när du anropar kommandon.

Example

Ej överensstämmande

Get-Command ChildItem Microsoft.PowerShell.Management

Godkänd

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

Konfigurera regel

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

Parameters

CommandAllowList

Denna parameter specificerar kommandon eller skript som ska undantas från denna regel. Den accepterar en strängarray. Standardvärdet är @().

Enable

Denna parameter styr om ScriptAnalyzer kontrollerar koden mot denna regel. Den accepterar ett boolesk värde. För att inaktivera denna regel, sätt denna parameter till $false. Standardvärdet är $true.