La plupart d'entre vous doivent avoir utilisé l'invite de commande à un moment donné, que ce soit simplement pour essayer une expérience ou pour résoudre un problème comme la récupération des données après avoir été affecté par un virus de raccourci. Mais qu'en est-il de PowerShell qui a vu le jour plus tard ? Quelle est la différence entre PowerShell et cmd ?
Eh bien, je suis sûr - à moins que vous ne soyez un utilisateur expérimenté avec des connaissances en programmation, vous n'aurez même pas pris la peine d'ouvrir le PowerShell. Mais, peut-il être utilisé en remplacement de l'invite de commande ? Est-ce seulement pour les programmeurs ou est-ce facile à connaître ?
Nous avons tout ce que vous devez savoir sur les deux. Pour simplifier les choses, nous ne plongerons pas profondément dans les racines de leur différence, mais seule la différence significative entre PowerShell et cmd sera mise en évidence dans cet article pour vous aider à choisir celui à utiliser.
Histoire
1. Invite de commande
L'invite de commande est un interpréteur de ligne de commande. Il existe sous Windows depuis le introduction de Windows 95. À cette époque, il ne s'appelait pas « Invite de commandes » mais simplement « cmd.exe » qui permettait aux utilisateurs d'interagir avec le système d'exploitation via certaines commandes. Et, ensuite, avec Windows NT, il a été surnommé - "Invite de commandes".
Eh bien, en théorie, c'était presque la même chose que COMMAND.COM (ou communément appelé MS-DOS) avec de nombreuses améliorations à bord.

Alors que l'invite de commande était techniquement un shell, mais elle présentait de nombreux inconvénients. Premièrement, le shell ne pouvait pas aider à automatiser toutes les facettes des fonctionnalités de l'interface graphique. Deuxièmement, il ne prenait pas en charge la création de scripts complexes.
2. PowerShell
Pour pallier les inconvénients de l'invite de commande, Fonctionnel avec a commencé à développer un shell appelé Monad, qui était beaucoup plus puissant que l'invite de commande (pouvait effectuer une variété de tâches administratives de base que CMD ne pouvait pas).

Plus tard, au cours de l'année – 2006 – il a été renommé Microsoft PowerShell. Et, récemment (en 2016), le PowerShell est devenu open source avec une prise en charge multiplateforme.
Fonctions techniques
Les différences techniques n'auraient d'importance que pour quelqu'un qui souhaite gérer et automatiser certaines tâches en interagissant avec le système d'exploitation via une interface en ligne de commande. Si vous n'avez aucune idée de ce qu'est un langage de programmation, connaître les différences techniques ne vous aidera pas.
PowerShell utilise un ensemble de commandes différent appelé applets de commande. Vous pouvez essayer de contrôler de nombreuses tâches d'administration système avec. Cependant, vous ne pouvez pas accéder au même via l'invite de commande. PowerShell vous permet également d'utiliser - "Pipes" - qui est juste un moyen de faciliter facilement le transfert d'informations d'un programme à un autre - cela rend PowerShell encore plus puissant.
De plus, comme indiqué ci-dessus, avec PowerShell, vous pouvez créer des scripts complexes, mais cela ne se produira pas avec l'invite de commande.
En un mot, PowerShell est un environnement de ligne de commande amélioré par rapport à l'invite de commande.
CMD vs Powershell : commandes
Si vous comptez utiliser l'un ou l'autre la plupart du temps, vous devriez jeter un coup d'œil à leur documentation ici :
Documentation de l'invite de commande
Si vous voulez simplement connaître la différence de base entre leurs commandes, voici celle-ci :
Lorsque vous observez une commande comme cd / dir / renommer (commandes d'un mot), c'est l'invite de commande pour vous. C'est pourquoi il reste l'outil de ligne de commande le plus simple.
Cependant, avec Powershell, vous obtiendrez des commandes plus expressives (décrivant leur fonctionnement), comme :
Définir l'emplacement / Obtenir les enfants / Renommer l'élément
Windows PowerShell vs Invite de commandes : lequel devriez-vous utiliser ?
Étant donné que PowerShell est un environnement de ligne de commande beaucoup plus avancé, il ne convient qu'aux administrateurs système Windows.
Si vous connaissez la création de scripts, la gestion des tâches d'administration automatisées dans Windows et que vous souhaitez plus d'extensibilité, alors PowerShell est fait pour vous. De plus, si vous connaissez le langage de programmation C#, cela ferait parfaitement l'affaire.
Cependant, si vous n'êtes pas un programmeur et que vous n'avez aucune idée de ce que font les administrateurs système, vous devez vous en tenir à l'invite de commande. Il ne sera pas obsolète. L'invite de commande sera toujours utilisée par de nombreux utilisateurs (y compris les programmeurs) pour effectuer des tâches moins avancées mais importantes - comme nettoyer votre disque dur, convertir votre lecteur de GPT vers MBR, la récupération d'un virus de raccourci et ainsi de suite.
Vous ne voudriez pas utiliser PowerShell si vous cherchez à résoudre des problèmes mineurs ou simplement à vérifier les détails de votre ping.
Récapitulation
Maintenant que vous connaissez la différence entre PowerShell et CMD, vous pouvez choisir qui vous voulez en fonction de la tâche que vous souhaitez accomplir. Il n'y a rien de supérieur ou d'inférieur entre les deux, tout dépend de ce que veut un utilisateur.
Vous ne savez toujours pas en quoi PowerShell diffère de l'invite de commande ? Faites-nous part de vos réflexions dans les commentaires ci-dessous.
Salut Ankush,
Je dois admettre que PowerShell m'a pris du temps à apprendre, mais une fois que vous l'avez appris, cela peut faire de la magie.