Udostępnij za pomocą


Unikaj poleceniaOverwritingBuiltInCmdlets

poziom ważności: ostrzeżenie

Opis

Ta reguła flaguje polecenia cmdlet, które są dostępne w danej wersji/wersji programu PowerShell w danym systemie operacyjnym, które są zastępowane przez deklarację funkcji. Działa to przez porównanie deklaracji funkcji z zestawem dozwolonych list, które są dostarczane z psScriptAnalyzer. Te pliki listy dozwolonych są używane przez inne reguły PSScriptAnalyzer. Więcej informacji można znaleźć w dokumentacji reguły UseCompatibleCmdlets.

Konfiguracja

Aby włączyć regułę w celu sprawdzenia, czy skrypt jest zgodny w programie PowerShell Core w systemie Windows, umieść następujący plik ustawień.

@{
    'Rules' = @{
        'PSAvoidOverwritingBuiltInCmdlets' = @{
            'PowerShellVersion' = @('core-6.1.0-windows')
        }
    }
}

Parametry

PowerShellVersion

Parametr PowerShellVersion to lista dozwolonych list, które są dostarczane z programem PSScriptAnalyzer.

Nuta

Wartość domyślna dla PowerShellVersion jest core-6.1.0-windows, jeśli jest zainstalowany program PowerShell 6 lub nowszy, i desktop-5.1.14393.206-windows, jeśli tak nie jest.

Zazwyczaj poprawkowe wersje programu PowerShell mają te same dane polecenia cmdlet, dlatego są dostarczane tylko ustawienia wersji głównych i pomocniczych programu PowerShell. Można również utworzyć plik ustawień niestandardowych, a także skrypt New-CommandDataFile.ps1 i użyć go, umieszczając utworzone JSON w folderze Settings folderu instalacyjnego modułu PSScriptAnalyzer, a następnie parametr PowerShellVersion jest tylko jego nazwą pliku (który można również zmienić w razie potrzeby). Należy pamiętać, że pliki core-6.0.2-* zostały usunięte w programie PSScriptAnalyzer 1.18 od czasu osiągnięcia końca życia programu PowerShell 6.0.