Introduction à PowerShell

Qu'est-ce que PowerShell ?

PowerShell est un shell et un moteur de scripting développé par Microsoft.
Il se distingue des autres shells (comme l'invite de commandes CMD sous Windows ou les shells Unix/Bash sous Linux) par :


2. Installation et premiers pas

Sur Windows

Sur macOS et Linux


3. Lancer PowerShell

Sous Windows :

Sous macOS / Linux :

Astuce : Pour exécuter PowerShell avec des droits d'administrateur (ou "en tant qu'administrateur"), faites un clic droit sur l'icône PowerShell, puis sélectionnez "Exécuter en tant qu'administrateur".


4. Découverte de la console PowerShell

Lorsque vous ouvrez PowerShell, vous verrez un prompt similaire à :

PS C:\Users\VotreNom>

Exécuter votre première commande

Essayez la commande suivante :

Get-ChildItem

Cette commande (alias dir ou ls) listera les fichiers et dossiers du répertoire courant.


5. Obtenir de l'aide : la commande Get-Help

PowerShell intègre un excellent système d'aide.
Pour en profiter pleinement :

Update-Help
Get-Help Get-ChildItem

ou

Get-Help Get-ChildItem -Online

pour consulter la documentation en ligne.

Astuce : Vous pouvez aussi utiliser Get-Help -Examples pour voir rapidement des exemples pratiques.


6. Bases de la syntaxe PowerShell

6.1 Nom des commandes (cmdlets)

PowerShell utilise un schéma de nommage standard pour ses cmdlets (commandes internes) :
Verbe-Sujet
Exemples :

6.2 Paramètres

Les cmdlets prennent souvent des paramètres pour ajuster leur comportement. Par exemple :

Get-ChildItem -Path "C:\Windows" -Recurse

Ici :

6.3 Pipeline |

Le pipeline redirige la sortie d'une commande vers l'entrée d'une autre. C'est l'un des points forts de PowerShell. Par exemple :

Get-Process | Where-Object { $_.CPU -gt 10 }

7. Variables et types de données

Les variables en PowerShell commencent par le symbole $.
Exemples :

# Déclaration et affectation d'une variable
$monTexte = "Bonjour, PowerShell !"
$monNombre = 42

# Affichage de la variable
Write-Host $monTexte
Write-Host "Le nombre est : $monNombre"

Types de données courants


8. Les structures de contrôle

8.1 Conditions if, elseif, else

if ($monNombre -gt 50) {
Write-Host "Le nombre est supérieur à 50"
}
elseif ($monNombre -eq 42) {
Write-Host "Le nombre est égal à 42"
}
else {
Write-Host "Le nombre est inférieur à 50"
}

8.2 Boucles : for, foreach, while

for ($i = 0; $i -lt 5; $i++) {
Write-Host "i vaut : $i"
}
$nombres = 1..5 # Génère la suite 1,2,3,4,5
foreach ($num in $nombres) {
Write-Host "Numéro : $num"
}
$compteur = 3
while ($compteur -gt 0) {
Write-Host "Le compteur est à : $compteur"
$compteur--
}

9. Fonctions

Les fonctions permettent de réutiliser du code. On les déclare avec le mot-clé function.

function Bonjour($nom) {
Write-Host "Bonjour, $nom !"
}

Bonjour "Alice"
Bonjour "Bob"

Vous pouvez passer plusieurs paramètres ou renvoyer une valeur (à l'aide du mot-clé return ou en laissant la dernière valeur calculée dans la fonction).


10. Créer et exécuter un script PowerShell

Un script PowerShell est un fichier .ps1 qui contient vos commandes/logiciels d'automatisation.

# MonPremierScript.ps1
Write-Host "Salut, c'est mon premier script !"
Set-ExecutionPolicy RemoteSigned

ou

Set-ExecutionPolicy Unrestricted

11. Installation et utilisation de modules

Les modules PowerShell sont des bibliothèques de cmdlets, fonctions et autres ressources. Exemple :

Install-Module -Name Pester
Get-Module -ListAvailable

12. Bonnes pratiques


13. Ressources pour aller plus loin


⬆️ Retour en haut de la page