Bagikan melalui


UseCompatibleCmdlets

Tingkat Keparahan : Peringatan

Deskripsi

Aturan ini menandai cmdlet yang tidak tersedia dalam Edisi dan Versi PowerShell tertentu pada Sistem Operasi tertentu. Ini bekerja dengan membandingkan cmdlet dengan satu set daftar izin yang dikirim dengan PSScriptAnalyzer. Mereka dapat ditemukan di /path/to/PSScriptAnalyzerModule/Settings. File-file ini adalah formulir, <psedition>-<psversion>-<os>.json di mana <psedition> dapat berupa Core atau Desktop, <os> dapat berupa Windows, Linux atau MacOS, dan <psversion> adalah versi PowerShell. Untuk mengaktifkan aturan untuk memeriksa apakah skrip Anda kompatibel di PowerShell Core di windows, letakkan file pengaturan Anda berikut:

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

Parameter compatibility adalah daftar yang berisi salah satu dari berikut ini

  • desktop-2.0-windows
  • desktop-3.0-windows
  • desktop-4.0-windows (diambil dari Windows Server 2012R2)
  • desktop-5.1.14393.206-windows
  • core-6.1.0-windows (diambil dari Windows 10 - 1803)
  • core-6.1.0-linux (diambil dari Ubuntu 18.04)
  • core-6.1.0-linux-arm (diambil dari Raspbian)
  • core-6.1.0-macos

Biasanya, versi PowerShell yang di-patch memiliki data cmdlet yang sama, oleh karena itu hanya pengaturan versi utama dan minor PowerShell yang disediakan. Anda juga dapat membuat file pengaturan kustom dengan skrip New-CommandDataFile.ps1. Tempatkan file .json yang dibuat di folder Settings folder modul PSScriptAnalyzer. Kemudian nilai parameter compatibility hanyalah nama file. Perhatikan bahwa file core-6.0.2-* dihapus di PSScriptAnalyzer 1.18 karena PowerShell 6.0 mencapai akhir masa pakainya.