Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.