2-Commandes
Powershell a uniformisé les commandes en les définissant avec un verbe, qui donne l’action, suivi d’un tirait, puis d’un nom : verbe-nom
On les nomme Cmdlet (prononcée command-let) et l’écriture française commandelette
Get-Service => obtenir les services
Get-Process => obtenir les processus
Get-Help => obtenir l’aide
Get-Command => obtenir les commandes
Stop-Service => arrêter les services
Stop-Process => arrêter les processus
New-Item => Créer un objet
Set-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!
Des paramètres sont définis pour toutes les commandes : -Confirm, -Debug, -Whatif, -ErrorAction, -Verbose, -Force…
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 -Confirm
Il y a plusieurs types de Cmdlet (CommandType) : Cmdlet, Function, Alias, Application, Script
Les Cmdlet sont écrites dans un langage de programmation .Net et sont compilées
Remove-Item
Start-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
ls => Get-ChildItem
Il y a 3 commandes de bases à connaître
- Get-Help:
Donne les informations sur une commande ainsi que la syntaxe.
C’est identique à Get-Service -?
Get-Help Get-Service
- Get-Command:
Liste 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 Write
- Get-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-Member
- Pipe:
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, Status
Un autre exemple est celui d’un tri sur une arborescence
La commande Get-History permet de lister les commandes de la session active
- Exercices: