Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.