PowerShell Version : comment vérifier et interpréter la version installée ⚡

Administrateur vérifiant la version de PowerShell sur un ordinateur Windows

Pour connaître sa version de PowerShell, la commande $PSVersionTable.PSVersion reste la méthode la plus fiable : elle affiche précisément le numéro de version du moteur PowerShell exécuté dans la session actuelle. Cette commande fonctionne aussi bien sous Windows PowerShell 5.1 que sous PowerShell 7, et permet de distinguer immédiatement l’édition utilisée. Voici comment lire ce résultat, différencier les deux versions principales de PowerShell, et mettre à jour vers PowerShell 7 si nécessaire.

Vérifier sa version PowerShell installée

Dans une console PowerShell, la commande suivante affiche uniquement le numéro de version :

$PSVersionTable.PSVersion

Le résultat se présente sous forme de plusieurs valeurs : Major, Minor, Patch et parfois Build ou Revision. La valeur Major permet d’identifier rapidement la génération utilisée : 5 pour Windows PowerShell 5.1, ou 7 pour PowerShell 7. Les valeurs Minor et Patch précisent ensuite la version exacte au sein de cette génération.

Il est important de garder à l’esprit que cette commande reflète la version de la session PowerShell actuellement ouverte, et non l’ensemble des versions installées sur la machine. Si plusieurs éditions coexistent sur le même ordinateur, seule celle de la fenêtre active est affichée.

Pour vérifier une autre version installée sans fermer la session en cours, il suffit d’ouvrir l’exécutable correspondant depuis un nouveau terminal, puis d’y exécuter la même commande. Cette méthode reste plus fiable qu’une recherche dans les paramètres système, car elle interroge directement le moteur PowerShell plutôt qu’un simple numéro de build affiché dans une interface graphique.

Afficher toutes les informations avec $PSVersionTable

Pour obtenir une vue complète plutôt qu’un seul numéro, il suffit d’appeler la variable automatique sans propriété spécifique :

$PSVersionTable

Ce tableau affiche, en plus de PSVersion, plusieurs autres informations utiles comme PSEdition, OS, Platform et PSCompatibleVersions, cette dernière propriété listant les versions de PowerShell avec lesquelles la session actuelle reste compatible.

Lire aussi :  Ouvrir un fichier CSV avec Excel : la méthode fiable pour bien répartir les données en colonnes

Comprendre PSEdition : Desktop ou Core

La propriété PSEdition permet de distinguer précisément l’édition utilisée :

$PSVersionTable.PSEdition

Deux valeurs sont possibles : Desktop, correspondant à Windows PowerShell 5.1, basé sur .NET Framework et disponible uniquement sous Windows ; ou Core, correspondant à PowerShell 7 et ses versions précédentes de PowerShell Core, basé sur .NET moderne et multiplateforme. Cette distinction est particulièrement utile lors de l’écriture de scripts destinés à s’exécuter sur plusieurs systèmes ou plusieurs éditions.

Windows PowerShell 5.1 et PowerShell 7 : les différences essentielles

Ces deux versions cohabitent aujourd’hui dans de nombreux environnements Windows, avec des caractéristiques bien distinctes.

CritèreWindows PowerShell 5.1PowerShell 7
Édition (PSEdition)DesktopCore
Base technique.NET Framework.NET moderne
Systèmes pris en chargeWindows uniquementWindows, Linux, macOS
Exécutablepowershell.exepwsh.exe

Windows PowerShell 5.1 reste intégré nativement à Windows et ne reçoit plus de nouvelles fonctionnalités majeures, tandis que PowerShell 7 constitue la version activement développée, avec des mises à jour régulières et des performances généralement supérieures. Certains modules plus anciens, notamment conçus pour interagir avec des composants Windows spécifiques, restent parfois disponibles uniquement sous l’édition Desktop.

Pour un usage quotidien orienté vers l’administration système Windows classique, Windows PowerShell 5.1 reste parfois suffisant. En revanche, dès qu’un script doit s’exécuter sur plusieurs systèmes d’exploitation, exploiter des fonctionnalités récentes du langage, ou bénéficier de meilleures performances sur de gros volumes de données, PowerShell 7 devient le choix le plus pertinent.

Différence entre powershell.exe et pwsh.exe

L’exécutable lancé détermine directement la version chargée. powershell.exe ouvre toujours une session Windows PowerShell 5.1, tandis que pwsh.exe ouvre une session PowerShell 7. Ces deux exécutables coexistent sans conflit sur un même poste Windows, chacun dans son propre répertoire d’installation, ce qui permet de choisir consciemment quelle version utiliser selon le script ou le module à exécuter.

PowerShell 7 s’installe à côté de Windows PowerShell 5.1

Contrairement à une mise à jour classique qui remplacerait l’ancienne version, PowerShell 7 s’installe dans un répertoire distinct et fonctionne en parallèle de Windows PowerShell 5.1, sans le désinstaller ni le remplacer. Les deux versions restent donc disponibles simultanément sur le même ordinateur, ce qui permet de continuer à exécuter d’anciens scripts nécessitant spécifiquement l’édition Desktop, tout en profitant de PowerShell 7 pour les usages plus récents.

Lire aussi :  Comparaison de deux documents Word : la méthode complète pour repérer toutes les différences

Limites de $Host.Version et Get-Host

Certaines commandes semblent proches de $PSVersionTable.PSVersion mais retournent en réalité une information différente :

Get-Host

Cette commande, tout comme $Host.Version, affiche la version de l’hôte PowerShell, c’est-à-dire l’application qui héberge la session (console, ISE, terminal intégré à un éditeur), et non systématiquement celle du moteur PowerShell lui-même. Dans certains environnements, ces deux versions peuvent différer, ce qui rend $PSVersionTable.PSVersion plus fiable pour connaître précisément la version du moteur réellement exécuté.

Vérifier la version PowerShell sous Windows, Linux et macOS

La commande $PSVersionTable.PSVersion fonctionne de façon identique sur les trois systèmes d’exploitation pris en charge par PowerShell 7. Sous Linux et macOS, PowerShell Core s’installe séparément selon des méthodes propres à chaque système, généralement via un gestionnaire de paquets ou un script officiel, et se lance ensuite avec la commande pwsh dans le terminal.

Installer ou mettre à jour PowerShell 7

Sous Windows, l’installation ou la mise à jour de PowerShell 7 s’effectue via le programme d’installation officiel, ou directement en ligne de commande avec le gestionnaire de paquets winget :

winget install --id Microsoft.PowerShell

Une fois l’installation terminée, ouvrir une nouvelle session avec pwsh puis vérifier immédiatement le résultat :

$PSVersionTable.PSVersion

Cette vérification confirme que la mise à jour a bien été appliquée et affiche le nouveau numéro de version installé.

Compatibilité des modules selon la version PowerShell

Avant de basculer un script existant vers PowerShell 7, il est utile de vérifier la compatibilité des modules utilisés. La plupart des modules récents fonctionnent sous les deux éditions, mais certains modules plus anciens, dépendants de composants spécifiques à .NET Framework, restent limités à Windows PowerShell 5.1. PowerShell 7 propose un mécanisme de compatibilité Windows permettant, dans certains cas, d’importer ces modules malgré tout, bien qu’une vérification manuelle reste préférable avant tout déploiement en production.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *