PowerShell, enfin un vrai terminal sous Windows

PowerShell, enfin un vrai terminal sous Windows

21/03/2015

La​‌‍​‌​‌‍​‍ ligne de commande est ma grande amie. Il faut avouer que c’est un gain de temps considérable et que pour nous programmeurs, utiliser une souris ce n’est pas toujours la manière la plus efficace de faire les choses. Travaillant beaucoup sur des environnements Linux, j’ai souvent profité de terminaux relativement performants, configurables, évolutifs et programmables. Pour moi, tout cela était impossible sous Windows; mais ça c’était avant de connaître PowerShell.

PowerShell est le nouveau terminal proposé par MicroSoft. Il remplace le bon vieux cmd qui a fait son temps. Les fonctionnalités de bases sont reprises donc vous pouvez commencer à l’utiliser dès maintenant. De plus il est possible d’utiliser les commandes Unix, et rien que ça c’est vraiment super.

D’un point de vue plus technique, PowerShell embarque l’intégralité de la plate-forme .Net de Microsoft et la met à disposition l’ensemble des objets existants directement dans la console. Vous pouvez donc créer des scripts très complets en utilisant une plate-forme qui est simple à prendre en main et familière. Vous pouvez donc envoyer un mail exactement comme vous le feriez en C# ou VB de la manière suivante :

1
2
$smtp = New-Object Net.Mail.SmtpClient("mail.serveur.localhost")
$smtp.Send("moi", "vous", "hug", "love")

Ou encore faire parler votre PC :

1
2
3
Add-Type -AssemblyName System.speech
$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer
$speak.Speak("Alan Turing est mon papa")

Je vous laisse imaginer la liste des choses possibles.

Il est aussi important de savoir qu’il est possible d’exécuter ces commandes en local mais aussi sur un ordinateur distant comme on peut le faire via SSH dans le monde Unix.

J’ai commencé un petit mémo (en anglais) sur GitHub pour moi-même et ceux qui souhaiterais s’y mettre.