PowerShell est un langage script fondé sur la programmation orientée objet. Le logiciel PowerShell est l'interpréteur de l’interface en ligne de commande de l'environnement de développement Windows PowerShell.
elles sont composées d’une paire de la forme “verbe ”-“nom” destiné à en faciliter la mémorisation.
exemple :
get-service
get = verbe
service = nom
Une variable PowerShell est un emplacement de stockage provisoire en mémoire destiné à recueillir une valeur, un objet ou une collection d’objets.
Les variables sont généralement nommées, et leurs noms sont toujours précédés d’un symbole “$“
Les variables sont automatiquement “typées” lors de l’affectation de valeur (si elles ne sont pas déclarées au préalable.)
exemple :
$variable = une valeur
Le pipeline, symbolisée par le caractère “|” (AltGr + 6) permet d'exécuter plusieurs commandes à la suite.
exemple :
get-process | Sort-Object CPU
Dans ce cas précis, la commande sort-object
tri les processus par utilisation de Cpu
Sous PowerShell la commande get-help
permet d'afficher la fonction et des exemples d'une commande.
get-help <la commande>
Mais avant d'utiliser cette commande il faut faire une mise à jour de l'aide de PowerShell avec la commande
update-help
cette commande permet d'avoir une aide manière très général si on souhaite obtenir plus d'information on peut ajouter l'option -detailed
get-help <la commande> -detailed
On peut aussi lister des exemples d'utilisation d'une commande avec l'option -examples
get-help <la commande> -examples
Il arrive parfois que l'aide renvoyée sous PowerShell ne soit pas complète malgré un update-help.
Pour cela il y a possibilité d'aller consulter directement l'aide en ligne avec l'option -online
get-help <la commande> -online
La commande get-help
permet également de rechercher une commande si, par exemple, je souhaite trouver une commande qui gère les services.
get-help service
voici ce que renvoie la commande, on peut voir les commandes qui contiennent le mot service.
Voici un exemple de menu qu'il est possible de faire avec la méthode suivante :
Nous avons besoin de déclarer une variable qui va servir en quelque sorte de bouton “allumé” ou “éteins” : $continue = $true
Avec cette variable j'utilise une boucle pour permettre de laisser en permanence l'affichage :
while (true){
<le menu avec des write-host>
}
Puis une seconde variable pour stocker mon choix avec $choix = read-host “faire un choix”
Suivant l'état de ce choix le script sortira de la boucle while
et cela provoquera soit une action du script soit une sortie du script avec switch ($choix).
Pour sortir du script si je fait le choix ‘x’ le script passe la variable $continue
à false
ce qui aura pour effet d'arrêter la boucle while.
la commande default
permet de renvoyer un message d'avertissement si je rentre un choix qui n'est pas dans le menu.
$continue = $true
while (continue){
write-host “----------------------MON TITRE -----------------------”
write-host “1. mon action 1”
write-host "2. mon action2"
write-host "x. exit"
write-host"-------------------------------------------------------------------"
$choix = read-host “faire un choix :”
switch ($choix){
1{commande de mon action 1}
2{commande de mon action 2}
‘x’ {$continue= $false}
default {Write-Host "Choix invalide"-ForegroundColor Red}
}
}