Tutoriel de script Windows PowerShell
Le scripting PowerShell vous permet d'automatiser les tâches répétitives sous Windows et Active Directory, de la génération de rapports à la mise à jour en masse des comptes. Ce tutoriel commence par les bases : variables, pipeline, boucles et fonctions, puis progresse vers des scripts que vous pouvez exécuter dès aujourd'hui. Téléchargez le guide complet pour des explications détaillées sur la gestion des comptes et ordinateurs AD, les tâches du système de fichiers et la planification des scripts, afin d'avoir des scripts opérationnels à portée de main quand vous en avez besoin.
Téléchargez le tutoriel de script des commandes PowerShell (PDF)
Comment écrire un script PowerShell ?
Un script PowerShell est un fichier texte brut enregistré avec l'extension .ps1. Vous pouvez en écrire un dans n'importe quel éditeur de texte, bien que la plupart des gens utilisent Visual Studio Code avec l'extension PowerShell pour la coloration syntaxique, l'autocomplétion et le débogage intégré. Écrivez vos commandes une par ligne, enregistrez le fichier et exécutez-le.
Commencez petit. Un script de deux lignes qui récupère une valeur et l’imprime vous enseigne la boucle principale sur laquelle tout utilisateur de PowerShell s’appuie : écrire, exécuter, ajuster. Ajoutez un commentaire avec un # au début d’une ligne pour indiquer ce que fait une section, car les scripts que vous lisez des mois plus tard s’expliquent rarement d’eux-mêmes. Ce tutoriel construit chaque concept sur le précédent, afin qu’un débutant puisse suivre du début à la fin.
Quels sont les commandes PowerShell de base ?
Les commandes PowerShell, appelées cmdlets, suivent un modèle verbe-nom qui les rend faciles à lire et à deviner : Get-, Set-, New-, et Remove-. Quelques cmdlets couvrent la plupart des tâches du premier jour :
Get-Help: consultez la syntaxe et des exemples pour n’importe quel cmdletGet-Command: liste tous les cmdlets disponibles dans votre sessionGet-Member: voir les propriétés et méthodes d’un objetGet-Process: afficher les processus en cours d'exécutionGet-ChildItem: lister les fichiers, dossiers ou clés de registre
Tapez Get-Help <cmdlet name> -Examples chaque fois que vous avez besoin d'un rappel, car l'aide intégrée de PowerShell couvre presque tous les cmdlets disponibles. La fiche de référence les regroupe par tâche, pour que vous ne cherchiez pas en plein script.
Comment exécuter un script PowerShell ?
Ouvrez PowerShell, accédez au dossier du script et exécutez-le avec .\scriptname.ps1. Si un message indique que le script ne peut pas être chargé parce que l'exécution des scripts est désactivée, c'est la politique d'exécution de PowerShell qui le bloque, pas votre script.
La politique d’exécution comporte plusieurs niveaux, du verrouillé au totalement ouvert, et choisir le mauvais peut vous bloquer ou exposer vos systèmes. Le guide détaille chaque niveau, celui qui trouve le bon équilibre pour le scripting quotidien, et la commande exacte pour le configurer en toute sécurité.
Comment utilisez-vous les variables, les boucles et les fonctions ?
Les variables stockent des valeurs avec un $ préfixe, comme $name = "Server01". Elles peuvent contenir du texte, des nombres ou des objets entiers, et PowerShell détermine le type pour vous.
Les boucles répètent une action sur une collection. Une boucle foreach est celle que vous utiliserez le plus :
foreach ($user in $users) {
Write-Host $user.Name
}
Les fonctions regroupent une logique réutilisable, vous l’écrivez donc une fois et l’appelez souvent :
function Get-Greeting($name) {
"Hello, $name"
}
Chaque concept comprend un exemple court et exécutable que vous pouvez coller et adapter.
Que pouvez-vous automatiser avec PowerShell dans Active Directory ?
Le module ActiveDirectory de PowerShell, installé avec RSAT (Remote Server Administration Tools), ajoute des cmdlets conçus spécifiquement pour les tâches d'annuaire. Avantages courants :
- Rapport sur les comptes inactifs avec
Search-ADAccount -AccountInactive - Trouver des utilisateurs dans une OU spécifique avec
Get-ADUser -SearchBase - Réinitialiser les mots de passe en masse avec
Set-ADAccountPassword - Auditer l'appartenance au groupe avec
Get-ADGroupMember
Les exemples pratiques de ce tutoriel montrent le modèle pour chacun, afin que vous puissiez les adapter à votre propre environnement sans commencer à partir d’un script vierge.
Pour les équipes qui préfèrent ne pas maintenir des scripts à long terme, des outils spécialement conçus couvrent le même AD reporting et change tracking sans code personnalisé.
FAQ
Partager sur