Powershell, fenêtre de commandes style Bash sous Windows et Linux

Powershell est une fenêtre de commande pour Windows (et maintenant Linux) dans le style de Bash, mais avec un langage de script orienté objet.

Ce successeur à l'antique fenêtre MS-DOS offre des fonctions de scripting évoluées.

Il est passé en avril 2011 sous licence Community Promise, ce qu'il fait qu'il devient libre et peut être implémenté sous toute plateforme. Donc sous Linux, ce qui a été fait avec le projet Pash qui fonctionne sur Mono. Son développement avait cessé en 2008 mais le projet a été repris par des contributeurs en 2012. Le projet est maintenant dépassé, depuis le 18 août 2016.

Le 18 août 2016, le code source de Powershell a été ouvert par Microsoft et devient disponible sous Linux et Mac. Basé sur .NET Core, il donne accès à une vaste bibliothèque de fonctions.
Il peut être téléchargé sur GitHub. Après Bash dans le sous-système Linux sous Windows 10, on a donc un choix de la ligne de commande total avec à l'inverse Powershell sur Linux!

Un outil de script et d'administration

La fenêtre de lignes de commande si familière aux utilisateurs d'Unix ou Linux, ou de MS-DOS et que l'on appelle d'ailleurs souvent fenêtre MS-DOS, ne disparaît pas sous Vista, au contraire elle se rapproche de ce que propose Linux et se modernise avec des fonctions très puissantes. En outre elle est également disponible pour Windows XP grâce à un téléchargement sur le site de Microsoft.
Le nom de code était Monad par référence au terme utilisé par Leibniz dans une philosophie qui conçoit le monde comme des composants, les monades, en interaction et en harmonie.
Powershell permet d'administrer un ordinateur, il gère les processus et les sessions notamment, les utilisateurs connectés, toute la gestion de réseau, et remplace donc Perl.

Powershell

Quelques exemples de fonctions innovantes dans Powershell

Powershell donne accès à la plupart des fonctions de Windows, cela inclut les services, les applications, la voix. En outre son affichage n'a plus rien à voir avec celui de MS-DOS, il peut se faire en graphiques...

Vous pouvez sélectionner les exemples de codes suivants avec la souris et faire un clic droit dans Powershell pour coller le code et l'exécuter...

La calculatrice

whatif

Transcript

Utiliser des applications

La voix

Graphismes

Programmation

Editeur de code

Chainage (pipeline)

Création de fichiers

Alias

Exécuter un script dans un fichier

Compatibilité Unix

Un accès aux données du système

Powershell retourne toutes les informations désirées sur le Bios, le processeur, et tous les composants du système informatique, sur le système d'exploitation, les logiciels, les mises à jour, etc.
Essayer par exemple la commande suivante:

Get-WmiObject -Class Win32_BIOS -ComputerName .

sans oublier le point à la fin, et vous saurez tout sur le BIOS de votre ordinateur!
Pour connaître l'espace libre sur les disques durs, essayez:

Get-WmiObject -Class Win32_LogicalDisk

De nombreux autres exemples sont fournis dans le guide d'utilisation.

Les cmdlets étendent le langage de base

Les "commandlets" sont des applications internes qui donnent accès aux ressources de Windows.
Le paramètre New-Object précédemment utilisé est une cmdlet. Tous les noms de cmdlets sont composés deux mots séparés par un tiret.
Tapez par exemple:

PS c:\get-service

et vous obtenez la liste de tous les services disponibles sous Windows.
Les cmldlets se passent les résultats sous forme d'objets tandis que sous Unix ils sont transmis entre commandes chaînées sous forme de texte. Mais les résultats sont donnés sous forme de texte lorsqu'ils sont affichés sur l'écran.

Plus d'informations

Le téléchargement se fait à partir de la centrale de téléchargement sur le site de Microsoft. L'archive contient un guide de l'utilisateur en français et un aide-mémoire du langage de script Windows Powershell.

Voir aussi: