UseCompatibleCmdlets

Önem Derecesi: Uyarı

Açıklama

Bu kural, hedeflediğiniz PowerShell sürümü, sürümü ve işletim sistemi için mevcut olmayan cmdlet'leri tespit eder. Kural, scriptinizdeki her cmdlet'i PSScriptAnalyzer ile gelen uyumluluk izin listesiyle karşılaştırır. Bu dosyalar aşağıdaki konumda: /path/to/PSScriptAnalyzerModule/Settings.

Her dosya şu adlandırma formatını kullanır:

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

Where:

  • <psedition> Core veya Desktop
  • <psversion> PowerShell versiyonudur
  • <os> Windows, Linux, Linux-Arm veya MacOS

Example

Scriptinizin Windows'ta PowerShell Core 6.1 ile uyumlu olup olmadığını kontrol etmek için şu yapılandırmayı ekleyin:

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

Uyumluluk parametresi, aşağıdaki gibi bir veya daha fazla hedef tanımlayıcının bir listesini kabul eder:

  • masaüstü-2.0-windows
  • desktop-3.0-windows
  • desktop-4.0-windows (Windows Server 2012 R2'den alınmıştır)
  • desktop-5.1.14393.206-windows
  • core-6.1.0-windows (Windows 10, sürüm 1803'ten alınmıştır)
  • core-6.1.0-linux (Ubuntu 18.04'ten alınmıştır)
  • core-6.1.0-linux-arm (Raspbian'dan alınmıştır)
  • core-6.1.0-macos

Yamalı PowerShell sürümleri genellikle aynı cmdlet verisine sahiptir, bu yüzden bu kural genellikle ana ve küçük sürüm profillerini sunar.

Ayrıca New-CommandDataFile.ps1ile özel bir profil oluşturabilirsiniz. Oluşturulan JSON dosyasını modülün Settings klasörüne PSScriptAnalyzer yerleştirin. Sonra o dosyaya isimle referans verebilirsiniz.compatibility

core-6.0.2-* PowerShell 6.0'ın ömrünün sonuna geldiği için PSScriptAnalyzer 1.18'de dosyalar kaldırıldı.