Windows PowerShell vs. CMD : quelle est la différence ?

powershell cmd

Autrefois, le démarrage d’un IBM 8086, alors à la pointe de la technologie, se faisait à partir d’une disquette. Vous vous retrouviez alors en face d’un écran vert en mode texte avec un curseur clignotant en face de la célèbre invite C:\> Mon premier contact avec la programmation a consisté à hacker les fichiers boot.ini et config.sys afin de pouvoir utiliser mes jeux.

Finalement, ce C:\ a été remplacé par une belle interface graphique et le démarrage se fait maintenant depuis un disque dur. Mais cette invite de commande (CMD) a survécu pendant plusieurs décennies. Ce n’est que récemment que CMD a été mis à jour, ou remplacé par PowerShell, l’application de ligne de commande que Microsoft a intégrée à partir de Windows 7.

Pendant longtemps, CMD nous a été bien utile, mais utiliser PowerShell revient à passer directement d’un véhicule à vapeur à une voiture autonome alimentée par batterie.

L’invite de commande Windows

L’invite de commande Windows – également connue sous le nom de CMD – est l’interface système originale du système d’exploitation DOS de Microsoft. CMD a été l’interface système par défaut jusqu’à Windows 10 build 14791, version qui a vu Microsoft faire de PowerShell l’option par défaut. CMD est l’un des derniers vestiges du système d’exploitation MS-DOS original remplacés par Microsoft.

Windows PowerShell

powershell cmdlets positives CMD

Windows PowerShell est la nouvelle interface système de Microsoft. Le logiciel combine les fonctionnalités de l’ancien CMD avec un nouvel ensemble d’instructions de script/cmdlet intégrant des fonctionnalités d’administration de système. Les cmdlets de Powershell permettent aux utilisateurs et administrateurs d’automatiser des tâches complexes grâce à des scripts réutilisables. En automatisant les tâches d’administration avec PowerShell, les administrateurs système économisent un temps considérable.

Comparaison entre PowerShell et CMD

Comparer PowerShell et CMD, c’est un peu comme comparer des pommes à des kumquats. Elles sont totalement différentes, même si le fait que la commande ‘dir’ fonctionne de la même manière avec les deux interfaces donne l’impression du contraire.

PowerShell utilise des cmdlets, qui sont des objets de programmation indépendants exposant les options d’administration sous-jacentes de Windows. Avant PowerShell, les administrateurs système devaient naviguer dans l’interface graphique pour trouver ces options et cliquer dans des menus pour les modifier. Ce travail était répétitif et il n’y avait aucun moyen de l’automatiser à une échelle plus large.

PowerShell utilise des tubes (ou pipes) pour enchaîner les cmdlets et partager les entrées/sorties, de la même façon qu’avec d’autres interfaces système, comme bash sous linux. Les tubes permettent aux utilisateurs de créer des scripts complexes qui transmettent des paramètres et des données d’une cmdlet à l’autre. Les utilisateurs peuvent créer des scripts réutilisables pour automatiser ou réaliser des modifications en masse avec des données variables, par exemple une liste de serveurs.

L’une des (nombreuses) fonctions géniales de PowerShell est la possibilité de créer des alias pour différentes cmdlets. Les alias permettent à un utilisateur de configurer ses propres noms pour différents cmdlets ou scripts, ce qui lui facilite le passage entre différentes interfaces système : ‘ls’ est sous linux une commande bash affichant le contenu d’un dossier, de la même manière que la commande ‘dir’. Avec PowerShell, ‘ls’ et ‘dir’ sont tous deux des alias de la cmdlet ‘Get-ChildItem.’

what powershell uses CMD

Quand utiliser PowerShell

Pour les administrateurs système et autres informaticiens, PowerShell est la voie à suivre. Il n’est pas de commande de CMD que l’on ne retrouve dans PowerShell, et PowerShell inclut des cmdlets pour toute fonction d’administration dont vous pourriez avoir besoin. Des éditeurs tiers étendent PowerShell avec des cmdlets personnalisées, comme le Toolkit PowerShell de NetApp qui gère Data ONTAP.

La connaissance de PowerShell peut être un atout pour chercher un emploi, ou même être requise pour obtenir un poste, cela vaut donc la peine de s’y investir.

Pour commencer votre exploration de PowerShell, jetez donc un œil sur ce tutoriel de base – et apprenez comment automatiser les tâches Active Directory avec notre cours PowerShell gratuit réalisé par Adam Bertram, un MVP Microsoft PowerShell.