Une commande fonctionne dans une fenêtre PowerShell et échoue dans une autre. Avant de réinstaller quoi que ce soit, vérifie la version du moteur réellement ouvert. $PSVersionTable répond à cette question ; le nom de l’onglet ou l’apparence du terminal ne suffit pas.
⚡ TL;DR — L’ESSENTIEL EN 30 SECONDES
- ✅ $PSVersionTable décrit le PowerShell de la session active.
- ✅ PSVersion donne le numéro du moteur ; PSEdition complète le diagnostic.
- ✅ Windows PowerShell 5.1 et PowerShell 7 peuvent cohabiter.
- ⚠️ Installer PowerShell 7 ne transforme pas automatiquement les anciennes sessions 5.1.
Mis à jour le 25 octobre 2026 à partir des sources officielles citées.
Afficher le numéro dans la session en cours
Ouvre la fenêtre où tu souhaites exécuter ton script, puis saisis cette variable sans la modifier :
$PSVersionTable
La documentation des variables automatiques Microsoft (source consultée le 25 octobre 2026) précise qu’elle décrit la version en cours d’exécution. Lis la ligne PSVersion. Pour obtenir seulement son numéro :
$PSVersionTable.PSVersion.ToString()
Ce résultat ne constitue pas l’inventaire de tous les PowerShell installés. Si tu veux comparer deux fenêtres, répète la commande dans chacune. Pour transmettre un diagnostic, recopie le résultat plutôt que d’écrire simplement « PowerShell est installé ».

Distinguer Windows PowerShell 5.1 et PowerShell 7
Le guide d’installation Microsoft (source consultée le 25 octobre 2026) indique que PowerShell 7 s’installe à côté de Windows PowerShell 5.1. Le premier ne remplace donc pas le second. Certaines dépendances de modules peuvent encore nécessiter une session 5.1.
| Ce que tu vérifies | Windows PowerShell 5.1 | PowerShell 7 |
|---|---|---|
| Exécutable | powershell.exe | pwsh.exe |
| Version dans la session | PSVersion commence par 5.1 | PSVersion commence par 7 |
| Édition habituelle sur un PC Windows | Desktop | Core |
Ne choisis pas un interpréteur uniquement parce que son numéro est plus élevé. Vérifie aussi la compatibilité annoncée par le module ou le script. Pour installer le moteur moderne, utilise notre guide d’installation de PowerShell 7.
Ouvrir explicitement le moteur souhaité
Depuis Exécuter ou une invite de commandes, utilise powershell.exe pour Windows PowerShell, ou pwsh.exe pour PowerShell 7 s’il est installé et accessible. Exécute ensuite $PSVersionTable dans la nouvelle fenêtre pour confirmer ton choix.
Le guide de démarrage Microsoft (source consultée le 25 octobre 2026) distingue la version PowerShell de celle de l’application hôte. $Host.Version ne doit donc pas remplacer $PSVersionTable.PSVersion dans ce diagnostic.
Tu peux également afficher le répertoire du moteur actif :
$PSHOME
Conserve le résultat avec le numéro de version si tu compares plusieurs installations. C’est particulièrement utile lorsqu’un raccourci ou un outil de développement n’ouvre pas le moteur attendu.
Windows Terminal ne donne pas le numéro de PowerShell
Microsoft présente Windows Terminal (source consultée le 25 octobre 2026) comme une application hôte pouvant accueillir plusieurs outils de ligne de commande. Un onglet PowerShell, une invite de commandes et une distribution Linux ne deviennent pas le même interpréteur parce qu’ils partagent cette interface.
Ouvre le profil voulu, puis vérifie le moteur à l’intérieur. Pour une tâche planifiée, relève également le chemin de l’exécutable configuré : le résultat d’une fenêtre interactive ne démontre pas celui d’un autre lancement.
Préparer un diagnostic utile
- Numéro PSVersion et valeur PSEdition.
- Commande ou nom du script concerné.
- Façon de lancer la session : raccourci, terminal, éditeur ou tâche.
- Message d’erreur exact, en retirant les informations confidentielles.
Retrouve les bases dans PowerShell pour les nuls, le guide d’exécution des scripts et le guide Windows, IT et Sécurité.
Questions fréquentes
Saisis $PSVersionTable et lis PSVersion dans la session où tu souhaites travailler.
Non. Microsoft prévoit une installation côte à côte. Chaque session doit être identifiée séparément.
Windows Terminal est une application hôte. Le moteur dépend du profil ouvert.
Utilise PSVersionTable.PSVersion pour le moteur. Host.Version décrit la version de son application hôte.