Commandes
Powershell a uniformisé les commandes en les définissant avec un verbe, qui donne l'action, suivi d'un tiret, puis d'un nom : verbe-nom.
Objectifs
À la fin de ce chapitre, vous serez capable de :
- Reconnaître la convention Verbe-Nom des cmdlets.
- Utiliser Get-Help et Get-Command pour explorer les commandes et leurs paramètres.
- Chaîner des commandes avec le pipe (|).
Les Cmdlet
On les nomme Cmdlet (prononcée command-let) et l'écriture française commandelette :
Get-Service=> obtenir les servicesGet-Process=> obtenir les processusGet-Help=> obtenir l'aideGet-Command=> obtenir les commandesStop-Service=> arrêter les servicesStop-Process=> arrêter les processusNew-Item=> Créer un objetSet-ExecutionPolicy=> Définir la politique de sécuritéClear-Host=> Efface le contenu de la console
Les verbes sont toujours les mêmes dans le sens où lorsque l'on veut obtenir une information c'est toujours le verbe Get ou Stop, si l'on veut arrêter.
C'est le même principe pour le nom, c'est toujours Service ou Process, ce n'est pas au pluriel ou en français!
Pour connaître tous les verbes utilisé (ou à utiliser), faites :
Get-Verb | Sort-Object VerbElle affiche la liste des verbes approuvés à utiliser pour nommer correctement les fonctions et cmdlets PowerShell.
Des paramètres sont définis pour toutes les commandes : -Confirm, -Debug, -Whatif, -ErrorAction, -Verbose, -Force, etc...
Pour chaque cmdlet, il y a une liste de paramètres.
Exemple avec Get-Process et Get-Service :


Par exemple, obtenir les services qui ont comme première lettre w :
Get-Service -Name w*Ou bien, arrêter le service Client Impero, avec une confirmation :
Stop-Process -Name ImperoClientSVC -ConfirmUn Cmdlet (CommandType) peut être de plusieurs type :
- Cmdlet
- Function
- Alias
- Application
- Script
Les Cmdlet sont écrites dans un langage de programmation .Net et sont compilées.
Remove-ItemStart-Service
Une Function est écrite en Powershell et n'est pas compilée. Il est possible d'ajouter ses propres fonctions dans celles du système.
- ImportSystemModule
- C:
- Clear-Host
Un alias est un raccourci, example :
- ls =>
Get-ChildItem
Il y a 3 commandes de bases à connaître.
Get-HelpDonne les informations sur une commande ainsi que la syntaxe.
C'est identique à Get-Service -?
Get-Help Get-ServiceGet-Command
Get-Command permet de lister les commandes disponibles.
Par exemple, liste les commandes qui contiennent le nom service :
Get-Command *service*On fait la différence entre le paramètre -Noun et le -Name :

Dans le cas de -Noun, la recherche sur la partie nom de la cmdlet. De la même façon on peut obtenir les commandes avec un verbe défini -Verb :
Get-Command -Verb WriteGet-Member
Donne le type, les propriétés et les méthodes pour un objet Il y a cependant une particularité pour cette commande. Elle a besoin d'être appliquée sur un objet... donc on utilise le pipe ou | (AltGr + 7).
Par exemple, on a pour la cmdlet Get-Service :
Get-Service | Get-MemberPipe
Le pipe (tube en français) permet de transmettre le résultat d'une commande à une autre commande.
On obtient les services qui commence par la lettre w, affichés sous format d'une table à 2 colonnes avec le nom et l'état associé :
Get-Service w* | Format-Table Name, StatusUn autre exemple est celui d'un tri sur une arborescence :

La commande Get-History permet de lister les commandes de la session active.
Résumé
- Les Cmdlets suivent une convention de nommage Verbe-Nom.
- Get-Help et Get-Command sont les outils clés pour apprendre une commande.
- Le pipe permet de transmettre des objets d’une commande à une autre.
