Points essentiels à retenir
- PowerShell et le Terminal Windows sont tous deux des interfaces en ligne de commande permettant la gestion de Windows par le biais de commandes textuelles.
- Le Terminal Windows est un émulateur de terminal, capable de reproduire le comportement et les fonctionnalités des interpréteurs de commandes, y compris l’invite de commande et PowerShell.
- Le Terminal Windows propose une interface moderne à onglets, offrant de nombreuses options de personnalisation en matière de polices, de schémas de couleurs et de paramètres d’affichage.
Sous Windows 11 et Windows 10, PowerShell et le Terminal Windows sont préinstallés. Ces deux interfaces permettent d’exécuter des commandes textuelles pour diverses tâches. Mais quelles sont leurs différences ?
PowerShell, une évolution de l’invite de commande
En 2006, Microsoft a lancé PowerShell pour surpasser les possibilités de l’invite de commande. Construit sur le framework .NET, PowerShell permet d’interagir avec le système d’exploitation en utilisant les langages .NET associés à des commandes textuelles. Le C# est souvent utilisé, permettant d’accéder à des fonctionnalités avancées et d’accroître la productivité.
En plus des commandes standards, PowerShell intègre plus de 200 « cmdlets », des classes C# légères selon Microsoft. Leur nombre varie selon les modules installés. Lors de leur exécution, ces cmdlets retournent un objet .NET manipulable. Cela permet d’interagir avec des programmes basés sur .NET Core et de traiter leurs entrées, sans code complexe.
De plus, PowerShell peut exécuter des fichiers batch comme CMD, mais offre une meilleure automatisation grâce à la planification de tâches, optimisant ainsi le temps et la gestion des actions.
Le Terminal Windows, un émulateur de terminal
Introduit par Microsoft en 2019, le Terminal Windows est un émulateur capable de simuler le comportement d’interfaces de ligne de commande, comme l’invite de commande et PowerShell. Il apporte notamment un outil que la communauté Linux apprécie : BASH (Bourne Again SHell).
Pour utiliser BASH et d’autres shells Linux (ZSH, FISH, Ksh), il faut activer les sous-systèmes Windows pour Linux (WSL). Le Terminal Windows peut également gérer Azure Cloud Shell, permettant l’administration des ressources Azure depuis Windows.
Interface utilisateur et personnalisation
Le Terminal Windows se distingue par son interface à onglets, permettant d’exécuter plusieurs utilitaires de ligne de commande en parallèle. On peut, par exemple, utiliser plusieurs instances de l’invite de commande, PowerShell, BASH ou Azure simultanément, ce que PowerShell ne peut faire.
L’interface de PowerShell est modifiable (polices, couleurs, invites), mais le Terminal Windows offre plus de flexibilité, avec des paramètres de profils, des schémas de couleurs, des interactions et des options d’affichage.
Il est à noter qu’il est possible d’appliquer les schémas de couleurs du Terminal Windows à PowerShell.
Compatibilité Unicode et UTF
Le Terminal Windows gère les emojis et les caractères d’autres langues grâce à sa prise en charge Unicode et UTF. Son moteur de rendu de texte GPU accéléré affiche correctement les caractères non standard. Il est par exemple possible de copier-coller un emoji depuis un site Web.
PowerShell supporte Unicode et UTF, mais des problèmes d’encodage peuvent survenir, avec des limitations ou bugs pour certains caractères. Le Terminal Windows offre une expérience améliorée sur ce point.
Le Terminal Windows et PowerShell sont des projets open source avec des communautés actives, qui assurent leur développement continu, l’amélioration des performances et l’ajout de nouvelles fonctionnalités. Une documentation complète est disponible pour chacun, avec de nombreux forums, tutoriels et guides pour une utilisation efficace.
Le Terminal Windows, l’outil complet
PowerShell apporte la puissance du framework .NET à l’environnement de ligne de commande, tandis que le Terminal Windows émule divers shells, y compris ceux de Linux. Le Terminal Windows propose aussi plus d’options de personnalisation et une meilleure prise en charge Unicode/UTF que PowerShell.
Bien que les deux outils soient performants, il n’est pas indispensable d’ouvrir PowerShell en dehors du Terminal Windows, car ce dernier est capable d’émuler l’environnement de shell.