UseCompatibleCmdlets

súlyossági szint: Figyelmeztetési

Leírás

Ez a szabály olyan cmdleteket azonosít, amelyek nem elérhetők a célzott PowerShell kiadásban, verzióban és operációs rendszerben. A szabály összehasonlítja a scripted minden cmdletjét egy kompatibilis engedélyező listával, amely a PSScriptAnalyzerrel együtt érkezik. Ezek a fájlok a következő helyen találhatók: /path/to/PSScriptAnalyzerModule/Settings.

Minden fájl ezt a névformát használja:

<psedition>-<psversion>-<os>.json

Where:

  • <psedition> Core vagy Desktop
  • <psversion> a PowerShell verzió
  • <os> Windows, Linux, Linux-Arm, vagy MacOS

Example

Annak ellenőrzéséhez, hogy a szkriptje kompatibilis-e a PowerShell Core 6.1-gyel Windows-on, add hozzá ezt a konfigurációt:

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

A kompatibilitási paraméter egy vagy több célazonosító listáját fogadja el, például:

  • desktop-2.0-windows
  • desktop-3.0-windows
  • desktop-4.0-windows (a Windows Server 2012 R2-ből származik)
  • desktop-5.1.14393.206-windows
  • core-6.1.0-windows (Windows 10, 1803-as verzióból vett)
  • core-6.1.0-linux (az Ubuntu 18.04-ből származik)
  • core-6.1.0-linux-arm (a Raspbiantól származik)
  • core-6.1.0-macos

A javításos PowerShell verziók általában ugyanazokat a cmdlet adatokat kapják, így ez a szabály főként a főbb és kisebb verzióprofilokat tartalmazza.

Egyedi profilt is létrehozhatsz New-CommandDataFile.ps1. Helyezze Settings a generált JSON fájlt a PSScriptAnalyzer modul mappájába. Ezután hivatkozhatsz a fájlra név szerint az .compatibility

A core-6.0.2-* fájlokat eltávolították a PSScriptAnalyzer 1.18-ban, mert a PowerShell 6.0 életciklusának végéhez ért.