Skip to content

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 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!

Pour connaître tous les verbes utilisé (ou à utiliser), faites :

powershell
Get-Verb | Sort-Object Verb

Elle 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 :

image

image

Par exemple, obtenir les services qui ont comme première lettre w :

powershell
Get-Service -Name w*

Ou bien, arrêter le service Client Impero, avec une confirmation :

powershell
Stop-Process -Name ImperoClientSVC -Confirm

Un 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-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, example :

  • ls => Get-ChildItem

Il y a 3 commandes de bases à connaître.

powershell
Get-Help

Donne les informations sur une commande ainsi que la syntaxe.

C'est identique à Get-Service -?

powershell
Get-Help Get-Service

Get-Command

Get-Command permet de lister les commandes disponibles.

Par exemple, liste les commandes qui contiennent le nom service :

powershell
Get-Command *service*

On fait la différence entre le paramètre -Noun et le -Name :

image

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 :

powershell
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 :

powershell
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é :

powershell
Get-Service w* | Format-Table Name, Status

Un autre exemple est celui d'un tri sur une arborescence :

image

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.

Exercices

📥 Exo Commandes (PDF)