Se rendre au contenu
Contenu du cours

02-1 Cmdlets, structure et synthaxe

1. Cmdlets : Structure et syntaxe

1.1. Anatomie d’une cmdlet

Les cmdlets PowerShell suivent une nomenclature standardisée : Verbe-Nom. Cette convention rend PowerShell intuitif et cohérent.

1.1.1. Structure d’une cmdlet

Verbe-Nom [-Paramètre1 Valeur1] [-Paramètre2 Valeur2] ...
  • Verbe : Décrit l’action (ex: Get, Set, Start, Stop).
  • Nom : Décrit l’objet sur lequel agit la cmdlet (ex: Service, Process, Item).
  • Paramètres : Permettent de préciser le comportement de la cmdlet.

Exemples :

CmdletDescription
Get-ProcessListe les processus en cours.
Stop-ServiceArrête un service Windows.
Set-ItemModifie la valeur d’un élément (fichier, clé de registre).

1.1.2. Paramètres courants

ParamètreDescriptionExemple
-NameSpécifie le nom d’un objet.Get-Service -Name "Spooler"
-PathIndique un chemin (fichier, dossier, registre).Get-ChildItem -Path "C:\Temp"
-ForceForce l’exécution (ignore les avertissements).Stop-Process -Name "notepad" -Force
-WhatIfSimule l’exécution sans appliquer les changements.Remove-Item -Path "C:\Temp\fichier.txt" -WhatIf
-ConfirmDemande une confirmation avant exécution.Stop-Service -Name "Spooler" -Confirm

1.2. Syntaxe avancée

1.2.1. Alias

PowerShell permet d’utiliser des alias pour raccourcir les commandes courantes. Exemples :

AliasCmdlet équivalente
gcmGet-Command
psGet-Process
lsGet-ChildItem
dirGet-ChildItem

Afficher la liste des alias :

Get-Alias

1.2.2. Utilisation des guillemets

  • Guillemets simples (' ') : Chaîne littérale (pas d’interprétation des variables).
    Write-Host 'La variable $var ne sera pas interprétée.'
    
  • Guillemets doubles (" ") : Interprète les variables et les caractères spéciaux.
    $nom = "Monteil"
    Write-Host "Bonjour, $nom !"
    

1.2.3. Caractères spéciaux

CaractèreDescriptionExemple
$Préfixe pour les variables.$maVariable = "Valeur"
@Tableau ou "splat" des paramètres.@(1, 2, 3) ou @params = @{}
`Caractère d’échappement.Get-ChildItem `"Mon Dossier`"

1.3. Mise en pratique : Utilisation des cmdlets de base

Objectif : Explorer le système avec des cmdlets courantes.

Exercice 1 : Gestion des processus

  1. Lister tous les processus :
    Get-Process
    
  2. Filtrer les processus par nom :
    Get-Process -Name "chrome"
    
  3. Arrêter un processus (ex: notepad) :
    Stop-Process -Name "notepad" -Force
    

Exercice 2 : Gestion des services

  1. Lister tous les services :
    Get-Service
    
  2. Filtrer les services en cours d’exécution :
    Get-Service | Where-Object { $_.Status -eq "Running" }
    
  3. Démarrer un service arrêté (ex: Spooler) :
    Start-Service -Name "Spooler"
    

Exercice 3 : Gestion des fichiers et dossiers

  1. Lister les fichiers dans C:\Temp :
    Get-ChildItem -Path "C:\Temp"
    
  2. Créer un nouveau dossier :
    New-Item -Path "C:\Temp\NouveauDossier" -ItemType Directory
    
  3. Supprimer un fichier (avec confirmation) :
    Remove-Item -Path "C:\Temp\fichier.txt" -Confirm

Les commentaires ne sont pas activés sur ce cours.