Qu’est-ce que PowerShell ?
Microsoft PowerShell est le successeur de l’invite de commandes et des lignes de commandes Ms/Dos que vous pouvez encore utiliser sous Ms Windows 10 et 11.
La programmation est de type objet comme les langages Python et Java par exemple. Les scripts développés ont l’extension : .ps1
Les variables commencent par le symbole $ (dollar) comme dans le langage PHP.
Il n’y a pas de point virgule pour terminer une ligne.
Il n’y a pas de typage strict des variables comme pour le langage C par exemple.
Le typage est donc dynamique comme dans Python ou PHP, il faut donc être rigoureux lorsqu’on scripte le code.
Comment installer l’interpréteur PowerShell ?
Par défaut, c’est la version 5 dans Ms Windows 10 et 11 qui est installée. Vous pouvez vérifier votre version en tapant la commande : host dans une fenêtre PowerShell.
Les différentes versions sont récupérables sur le dépôt GitHub de Microsoft via ce lien.
Un exemple de script
# Ceci est un commentaire
# Quelques variables disponibles
$chaine = "drapeau"
$tableau = "bleu,blanc","rouge"
$numerique = 2022
# Explorer un tableau par exemple
foreach($c in $tableau) {
write-host($a)
}
# => cela affichera : bleu blanc rouge
# Ajouter une nouvelle valeur à un tableau
$tableau += "vert"
# Creer un tableau associatif
$tableau2 = @{} # si on veut instancier une variable
$tableau2["france"] = "bleu-blanc-rouge"
$tableau2["espagne"] = "rouge-jaune-rouge"
# Explorer le tableau
foreach ($d in $tableau2) {
# Afficher la cle du tableau
write-host("pays : " + $d.Keys)
# Afficher la valeur de la cle du tableau
write-host("couleurs : " + $d.Values)
}
Ce que je pense de ce langage ?
PowerShell est un langage simple à apprendre si on connait un ou plusieurs langages de scripts. On peut penser au très populaire langage Python. Il existe de nombreux tutoriaux (explications) sur Internet, il suffit d’aller sur Google et de taper sa recherche par exemple : « powershell créer un csv » si on veut générer un fichier CSV pour stocker des informations (exemple : log de traitements).
De même, si vous trouvez qu’il manque des fonctionnalités au langage, il est possible de déployer des bibliothèques (comme pour Python) via des plateformes dont PowerShell Gallery.
PowerShell est donc un langage pour mettre facilement en place des traitements automatisés.