重大度レベル: 警告
形容
この規則は、特定のオペレーティング システム上の特定のエディションとバージョンの PowerShell で使用できないコマンドレットにフラグを設定します。 これは、PSScriptAnalyzer に付属する一連の許可リストとコマンドレットを比較することによって機能します。 彼らは /path/to/PSScriptAnalyzerModule/Settingsで見つけることができます. これらのファイルの形式は <psedition>-<psversion>-<os>.json<psedition>Core または Desktop、<os> は Windows、Linux または MacOSのいずれかであり、<psversion> は PowerShell のバージョンです。 Windows 上の PowerShell Core でスクリプトに互換性があるかどうかを確認するルールを有効にするには、次の設定ファイルを配置します。
@{
'Rules' = @{
'PSUseCompatibleCmdlets' = @{
'compatibility' = @('core-6.1.0-windows')
}
}
}
パラメーター compatibility は、次のいずれかを含むリストです。
- desktop-2.0-windows
- desktop-3.0-windows
- desktop-4.0-windows (Windows Server 2012R2 から取得)
- desktop-5.1.14393.206-windows
- core-6.1.0-windows (Windows 10 - 1803 から取得)
- core-6.1.0-linux (Ubuntu 18.04 から取得)
- core-6.1.0-linux-arm (Raspbian から取得)
- core-6.1.0-macos
通常、修正プログラムが適用されたバージョンの PowerShell には同じコマンドレット データがあるため、PowerShell のメジャー バージョンとマイナー バージョンの設定のみが提供されます。
New-CommandDataFile.ps1 スクリプトを使用してカスタム設定ファイルを作成することもできます。 作成した .json ファイルを、PSScriptAnalyzer モジュール フォルダーの Settings フォルダーに配置します。 次に、compatibility パラメーターの値はファイル名です。
PowerShell 6.0 の有効期間が終了してから、PSScriptAnalyzer 1.18 で core-6.0.2-* ファイルが削除されていることに注意してください。