AvoidUsingPositionalParameters

súlyossági szint: Információ

Description

Ez a szabály felismeri, ha a parancsokat három vagy több pozíciós paraméterrel hívják meg, ahelyett, hogy elnevezett paramétereket használnának. A pozicionális paraméterek használata csökkenti a kód olvashatóságát, és hibákat okozhat. Lehetséges, hogy a jövőbeni cmdlet verziója úgy változhat, hogy a meglévő szkriptek megtörik, ha azok a paraméter pozíciójára támaszkodnak.

Egyszerű cmdleteknél, amelyek csak néhány pozicionális paraméterrel rendelkeznek, a kockázat sokkal kisebb. Annak érdekében, hogy ez a szabály ne legyen túl zajos, ne adj meg három vagy több paramétert. Egy egyszerű példa, amikor a pozicionális paraméterek használatának kockázata elhanyagolható, az Test-Path $Path.

Teljes paraméterneveket használj parancsok hívásakor.

Example

Nem megfelelő

Get-Command ChildItem Microsoft.PowerShell.Management

Megfelelő

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

Szabály konfigurálása

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

Parameters

CommandAllowList

Ez a paraméter megadja azokat a parancsokat vagy szkripteket, amelyeket ki kell zárni ebből a szabályból. Elfogad egy string tömbjét. Az alapértelmezett érték a @().

Enable

Ez a paraméter szabályozza, hogy a ScriptAnalyzer ellenőrzi-e a kódot ezen szabály ellen. Elfogad egy boole-értéket. A szabály letiltásához állítsuk be ezt a paramétert .$false Az alapértelmezett érték a $true.