Comment vérifier la version de PowerShell installée?
Dans cet article, nous allons découvrir quelles versions de PowerShell existent, quelle est la différence entre Windows PowerShell
et PowerShell Core
et comment vérifier la version de PowerShell installée sur un ordinateur local ou distant.
Historique et versions de Windows PowerShell et PowerShell Core
PowerShell est installé par défaut dans toutes les versions de Windows à partir de Windows 7 SP1 et Windows Server 2008 R2 SP1. Le tableau suivant présente la liste de toutes les versions de PowerShell:
Version PS | Remarque |
PowerShell 1.0 | Peut être installé manuellement sur Windows Server 2003 SP1 et Windows XP |
PowerShell 2.0 | Windows Server 2008 R2 et Windows 7 |
PowerShell 3.0 | Windows 8 et Windows Server 2012 |
PowerShell 4.0 | Windows 8.1 et Windows Server 2012 R2 |
PowerShell 5.0 | Préinstallé sur Windows 10 RTM et automatiquement mis à jour vers la version 5.1 via Windows Update |
PowerShell 5.1 | Il est intégré à Windows 10 (à partir de la Build 1709) et Windows Server 2016 |
PowerShell Core 6.0 et 6.1 | C’est la prochaine version multiplateforme de PowerShell (basée sur .NET Core) qui peut être installée sur toutes les versions de Windows prises en charge et sur MacOS, CentOS, RHEL, Debian, Ubuntu, openSUSE |
PowerShell Core 7.0 | Il s’agit de la dernière version de PowerShell publiée en mars 2020 (.NET Core 3.1 y est utilisé au lieu de .NET Core 2.x) |
Il convient de noter qu’au cours des 2 dernières années, Microsoft a suspendu le développement de Windows PowerShell classique (seuls les correctifs de bogues et les mises à jour de sécurité sont publiés) et se sont concentrés sur PowerShell Core multiplateforme open source.
Quelle est la différence entre Windows PowerShell et PowerShell Core?
- Windows PowerShell est basé sur .NET Framework (par exemple, PowerShell 5 nécessite .NET Framework v4.5, assurez-vous que il est installé). PowerShell Core est basé sur .Net Core;
- Windows PowerShell fonctionne uniquement dans les systèmes d’exploitation Windows, tandis que PowerShell Core est multiplateforme et peut également fonctionner sous Linux;
- PowerShell Core est pas entièrement compatible avec Windows PowerShell, cependant, Microsoft travaille sur l’amélioration de la compatibilité descendante avec les applets de commande et scripts PS antérieurs. (il est recommandé de tester vos anciens scripts PS1 avant de passer à PowerShell Core). PowerShell Core 7 offre la plus haute compatibilité avec Windows PowerShell;
- Vous ne pouvez pas utiliser l’éditeur PowerShell ISE pour modifier les scripts PowerShell Core (mais Visual Studio Code peut être utilisé);
- Depuis Windows PowerShell n’est plus développé, il est recommandé de commencer la migration vers PowerShell Core.
Comment obtenir la version PowerShell à partir de la console?
Le moyen le plus simple de savoir lequel La version PowerShell installée sur votre ordinateur consiste à utiliser la commande:
host
Vérifiez la valeur de la propriété Version.
ou
$PSVersionTable
Vous ne pouvez obtenir que la valeur de la version PowerShell :
$PSVersionTable.PSVersion.major
(dans cet exemple, nous avons PSVersion 2.0 dans Clean Win dows Server 2008 R2)
La commande $ PSVersionTable fonctionne correctement dans PowerShell Core dans différents systèmes d’exploitation.
Vous pouvez également trouver la version installée de PowerShell via le registre. Pour ce faire, récupérez la valeur du paramètre PowerShellVersion dans la clé de registre HKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
à l’aide de la cmdlet Get-ItemProperty:
Sous Windows Server 2008 R2 / Windows 7, vous pouvez obtenir la valeur du paramètre de registre dans une autre clé de registre:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name "PowerShellVersion").PowerShellVersion
Pour obtenir la version installée de PowerShell Core, utilisez la commande suivante:
Vérifier la version de PowerShell sur les ordinateurs distants
Pour vérifiez la version de PowerShell sur un hôte distant, utilisez la valeur de la variable d’environnement $ PSVersionTable ou obtenez les informations directement du registre. D’autres méthodes peuvent renvoyer des données incorrectes.
Vous pouvez installer la version de PowerShell sur un ordinateur distant via PowerShell Remoting à l’aide de l’applet de commande Invoke-Command: