PowerShell permet d’exécuter des commandes une par une, mais son véritable potentiel apparaît lorsqu’on regroupe ces commandes dans des scripts (.ps1) afin d’automatiser des tâches répétitives et fiables. La création de scripts PowerShell permet de gagner du temps, réduire les erreurs humaines et standardiser les actions sur un système. Un script peut être réutilisé, partagé et exécuté de manière identique sur plusieurs machines. C’est une compétence clé pour l’administration système, le support informatique et l’automatisation des tâches courantes (gestion de fichiers, diagnostics réseau, inventaires, sauvegardes).
Un script PowerShell est un fichier texte avec l’extension .ps1 qui contient une suite de commandes PowerShell exécutées automatiquement.
Exemple de fichier :
analyse_fichiers.ps1
Pour exécuter un script :
.\analyse_fichiers.ps1
En PowerShell, une variable commence toujours par $.
$nom = "Alice"
$age = 17
PowerShell est faiblement typé : il devine le type automatiquement.
Write-Host "Nom : $nom"
Write-Host "Âge : $age"
$a = 10
$b = 3
$somme = $a + $b
if (condition) {
instructions
}
$fichier = Get-Item "test.txt"
if ($fichier.Length -gt 1MB) {
Write-Host "Fichier volumineux"
}
else {
Write-Host "Fichier de taille normale"
}
| Opérateur | Signification |
|---|---|
-eq |
égal |
-ne |
différent |
-gt |
> |
-lt |
< |
-ge |
≥ |
-le |
≤ |
-and |
ET |
-or |
OU |
foreach (la plus utilisée)$fichiers = Get-ChildItem -File
foreach ($fichier in $fichiers) {
Write-Host $fichier.Name
}
forfor ($i = 1; $i -le 5; $i++) {
Write-Host "Compteur : $i"
}
while$compteur = 1
while ($compteur -le 3) {
Write-Host $compteur
$compteur++
}
Une fonction permet de réutiliser du code.
function Dire-Bonjour {
Write-Host "Bonjour !"
}
Appel :
Dire-Bonjour
function Calculer-Somme {
param (
$a,
$b
)
return $a + $b
}
Utilisation :
$resultat = Calculer-Somme -a 5 -b 7
Lister les fichiers d’un dossier, afficher leur taille, et signaler ceux de plus de 1 MB.
$fichiers = Get-ChildItem -File
foreach ($fichier in $fichiers) {
if ($fichier.Length -gt 1MB) {
Write-Host "$($fichier.Name) : gros fichier"
}
else {
Write-Host "$($fichier.Name) : fichier normal"
}
}
Select-Object et Where-Object avant les boucles quand c’est possibleLes scripts PowerShell permettent d’automatiser des tâches système de manière fiable et lisible.
En maîtrisant :
tu disposes déjà d’une base solide pour écrire de vrais scripts professionnels.