Udostępnij za pomocą


UseCompatibleCmdlets

poziom ważności: ostrzeżenie

Opis

Ta reguła flaguje polecenia cmdlet, które nie są dostępne w danej wersji i wersji programu PowerShell w danym systemie operacyjnym. Działa to przez porównanie polecenia cmdlet z zestawem dozwolonych list, które są dostarczane z programem PSScriptAnalyzer. Można je znaleźć w /path/to/PSScriptAnalyzerModule/Settings. Te pliki są w formie, <psedition>-<psversion>-<os>.json gdzie <psedition> mogą być Core lub Desktop, <os> mogą być Windows, Linux lub MacOS, a <psversion> jest wersją programu PowerShell. Aby włączyć regułę w celu sprawdzenia, czy skrypt jest zgodny z programem PowerShell Core w systemie Windows, umieść następujący plik ustawień:

@{
    'Rules' = @{
        'PSUseCompatibleCmdlets' = @{
            'compatibility' = @('core-6.1.0-windows')
        }
    }
}

Parametr compatibility to lista zawierająca dowolną z poniższych

  • desktop-2.0-windows
  • desktop-3.0-windows
  • desktop-4.0-windows (pobrany z systemu Windows Server 2012R2)
  • desktop-5.1.14393.206-windows
  • core-6.1.0-windows (pobrane z systemu Windows 10 – 1803)
  • core-6.1.0-linux (pobrany z systemu Ubuntu 18.04)
  • core-6.1.0-linux-arm (pobrany z Raspbian)
  • core-6.1.0-macos

Zazwyczaj poprawkowe wersje programu PowerShell mają te same dane polecenia cmdlet, dlatego są dostarczane tylko ustawienia wersji głównych i pomocniczych programu PowerShell. Możesz również utworzyć plik ustawień niestandardowych za pomocą skryptu New-CommandDataFile.ps1. Umieść utworzony plik .json w folderze Settings folderu modułu PSScriptAnalyzer. Następnie wartości parametrów compatibility to tylko nazwa pliku. Należy pamiętać, że pliki core-6.0.2-* zostały usunięte w programie PSScriptAnalyzer 1.18, ponieważ program PowerShell 6.0 osiągnął jego koniec.