Partager via


UseCompatibleCmdlets

niveau de gravité : avertissement

Description

Cette règle signale les applets de commande qui ne sont pas disponibles dans une édition donnée et la version de PowerShell sur un système d’exploitation donné. Il fonctionne en comparant une applet de commande à un ensemble de listes d’autorisation qui sont fournies avec PSScriptAnalyzer. Ils sont trouvés à /path/to/PSScriptAnalyzerModule/Settings. Ces fichiers sont de la forme, <psedition>-<psversion>-<os>.json<psedition> peut être Core ou Desktop, <os> peut être Windows, Linux ou MacOS, et <psversion> est la version powerShell. Pour activer la règle pour vérifier si votre script est compatible sur PowerShell Core sur Windows, placez le fichier de paramètres suivant :

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

Le paramètre compatibility est une liste qui contient l’un des éléments suivants :

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

En règle générale, les versions corrigées de PowerShell ont les mêmes données d’applet de commande. Par conséquent, seuls les paramètres des versions principales et mineures de PowerShell sont fournis. Vous pouvez également créer un fichier de paramètres personnalisé avec le script New-CommandDataFile.ps1. Placez le fichier .json créé dans le dossier Settings du dossier du module PSScriptAnalyzer. Ensuite, les valeurs de paramètre compatibility sont simplement le nom de fichier. Notez que les fichiers core-6.0.2-* ont été supprimés dans PSScriptAnalyzer 1.18 depuis que PowerShell 6.0 a atteint sa fin de vie.