9Aug

Comment PowerShell diffère de l'invite de commande Windows

Windows 7 a ajouté PowerShell, un shell de ligne de commande et un langage de script plus puissants que l'invite de commandes. Depuis Windows 7, PowerShell est devenu plus important, devenant même le choix par défaut dans Windows 10.

PowerShell est plus compliqué que l'invite de commande traditionnelle, mais il est également beaucoup plus puissant. L'invite de commande est nettement inférieure aux shells disponibles pour Linux et d'autres systèmes de type Unix, mais PowerShell est en concurrence. En outre, la plupart des commandes d'invite de commandes sont utilisables dans PowerShell, que ce soit en mode natif ou via des alias.

Différence entre PowerShell et l'invite de commande

PowerShell est en réalité très différent de l'invite de commande. Il utilise différentes commandes, appelées cmdlets dans PowerShell. De nombreuses tâches d'administration système, depuis la gestion du registre jusqu'à WMI( Windows Management Instrumentation), sont exposées via des cmdlets PowerShell, alors qu'elles ne sont pas accessibles à partir de l'invite de commandes.

PowerShell utilise des tubes, comme le fait Linux, qui vous permettent de transmettre la sortie d'une cmdlet à l'entrée d'une autre cmdlet. Ainsi, vous pouvez utiliser plusieurs cmdlets en séquence pour manipuler les mêmes données. Contrairement aux systèmes de type Unix, qui peuvent uniquement canaliser les flux de caractères( texte) -PowerShell, les objets pipes entre les cmdlets. Et à peu près tout dans PowerShell est un objet, y compris toutes les réponses que vous obtenez à partir d'une cmdlet. Cela permet à PowerShell de partager des données plus complexes entre des applets de commande, fonctionnant davantage comme un langage de programmation.

PowerShell n'est pas seulement un shell. C'est un environnement de script puissant que vous pouvez utiliser pour créer des scripts complexes pour gérer les systèmes Windows beaucoup plus facilement qu'avec l'invite de commandes.

L'invite de commandes est essentiellement un environnement hérité conservé dans Windows, un environnement qui copie toutes les différentes commandes DOS que vous trouverez sur un système DOS.Il est douloureusement limité, ne peut pas accéder à de nombreuses fonctionnalités d'administration système Windows, il est plus difficile de composer des scripts complexes avec, et ainsi de suite. PowerShell est un nouvel environnement pour les administrateurs système Windows qui leur permet d'utiliser un environnement de ligne de commande plus moderne pour gérer Windows.

Quand vous voudriez utiliser PowerShell

Alors, quand un utilisateur moyen de Windows voudrait-il utiliser PowerShell?

Si vous ne lancez que rarement l'invite de commande pour exécuter la commande ping ou ipconfig occasionnelle, vous n'avez vraiment pas besoin d'appuyer sur PowerShell. Si vous êtes plus à l'aise avec l'invite de commandes, ça ne va nulle part. Cela dit, la plupart de ces commandes fonctionnent aussi bien dans PowerShell, si vous voulez l'essayer.

Cependant, PowerShell peut être un environnement de ligne de commande beaucoup plus puissant que l'invite de commande. Par exemple, nous vous avons montré comment utiliser l'environnement PowerShell intégré à Windows pour effectuer une opération de recherche et de remplacement afin de renommer par lots plusieurs fichiers dans un dossier, ce qui nécessiterait normalement l'installation d'un programme tiers. C'est le genre de chose que les utilisateurs de Linux ont toujours pu faire avec leur environnement de ligne de commande, alors que les utilisateurs de Windows ont été laissés de côté.

Cependant, PowerShell n'est pas comme le terminal Linux. C'est un peu plus compliqué, et l'utilisateur moyen de Windows pourrait ne pas voir beaucoup d'avantages à jouer avec.

Les administrateurs système voudront apprendre PowerShell pour pouvoir gérer leurs systèmes plus efficacement. Et si vous avez besoin d'écrire un script pour automatiser diverses tâches d'administration système, vous devez le faire avec PowerShell.

Équivalents PowerShell des commandes communes

Nombreuses commandes courantes d'invite de commandes, de ipconfig à cd -work dans l'environnement PowerShell. Cela est dû au fait que PowerShell contient des "alias" qui pointent ces anciennes commandes vers les nouvelles cmdlets appropriées, en exécutant les nouvelles cmdlets lorsque vous tapez les anciennes commandes.

Nous allons passer en revue quelques commandes d'invite de commandes courantes et leurs équivalents dans PowerShell - juste pour vous donner une idée de la façon dont la syntaxe de PowerShell est différente.

Modifier un répertoire

  • DOS: cd
  • PowerShell: définir-emplacement

fichiers de liste dans un répertoire

  • DOS: répertoire
  • PowerShell: Get-ChildItem

renommer un fichier

  • DOS: renommer
  • PowerShell: Rename-Item

Pour voir si une commande DOS a un alias, vous pouvez utiliser la cmdlet Get-Alias. Par exemple, en tapant Get-Alias ​​cd vous montre que cd exécute en fait la cmdlet Set-Location.

En savoir plus

Vous voulez en savoir plus sur PowerShell? Lisez notre série d'articles de l'école Geek qui vous présenteront PowerShell et vous aideront à vous mettre au diapason. Si vous êtes un administrateur système Windows, vous devriez savoir ce genre de choses.