Udostępnij przez


UnikaniezauzyskujParametrypositionalParameters

** Poziom ważności: informacje **

Opis

Użycie parametrów pozycyjnych zmniejsza czytelność kodu i może powodować błędy. Istnieje możliwość, że przyszła wersja polecenia cmdlet może ulec zmianie w sposób, który spowoduje przerwanie istniejących skryptów, jeśli wywołania polecenia cmdlet polegają na pozycji parametrów.

W przypadku prostych poleceń cmdlet z tylko kilkoma parametrami pozycyjnymi ryzyko jest znacznie mniejsze. Aby zapobiec zbyt hałaśliwym regułom, ta reguła jest wyzwalana tylko wtedy, gdy jest dostępnych co najmniej 3 parametry. Prosty przykład, w którym ryzyko użycia parametrów pozycyjnych jest niewielkie, to Test-Path $Path.

Konfigurowanie

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

Parametry

CommandAllowList: string[] (wartość domyślna to @()')

Polecenia lub skrypty, które mają być wykluczone z tej reguły.

Włącz: wartość logiczna (wartość domyślna to $true)

Włącza lub wyłącza regułę podczas wywołania ScriptAnalyzer.

Jak

Użyj pełnych nazw parametrów podczas wywoływania poleceń.

Przykład

Nieodpowiednim

Get-Command ChildItem Microsoft.PowerShell.Management

Odpowiedź prawidłowa

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