Initiation complet au PowerShell
📚 Cours d’initiation au PowerShell
1. Introduction
1.1 Qu’est-ce que PowerShell ?
Définition : PowerShell est un shell d’administration et un langage de script développé par Microsoft.
Objectif : Automatiser et simplifier l’administration de Windows (et même Linux ou macOS depuis
PowerShell Core).
Caractéristiques clés :
o Basé sur le framework .NET → manipulation d’objets.
o Combinaison d’un interpréteur de commandes et d’un langage de programmation.
1.2 Pourquoi utiliser PowerShell ?
Exécuter des tâches d’administration répétitives plus rapidement.
Gérer localement ou à distance des serveurs et postes clients.
Créer des scripts automatisés pour déployer des configurations.
2. L’environnement PowerShell
2.1 Lancer PowerShell
Windows PowerShell (classique) : installé par défaut sur Windows 7 et +.
Windows PowerShell ISE (Integrated Scripting Environment) : éditeur intégré pour écrire et tester des
scripts.
PowerShell Core (pwsh) : version multiplateforme.
2.2 Exécuter une commande
Ouvrir PowerShell (administrateur si besoin).
Taper une commande simple, ex. :
Get-Date
Get-Process
2.3 Politique d’exécution
Par défaut, PowerShell bloque l’exécution de scripts (.ps1).
Vérifier la politique :
Get-ExecutionPolicy
Changer (exécution locale) :
Set-ExecutionPolicy RemoteSigned
(à exécuter en admin)
3. Les cmdlets
3.1 Syntaxe
Format : Verbe-Nom (ex. Get-Process, Set-Service).
Les paramètres s’ajoutent avec un tiret :
Get-Service -Name Spooler
3.2 Découverte des cmdlets
Rechercher une commande :
Get-Command *service*
Aide intégrée :
Get-Help Get-Service -Full
4. Le pipeline
PowerShell transmet des objets, pas seulement du texte.
Exemple :
Get-Service | Where-Object {$_.Status -eq "Running"}
Ici, on récupère uniquement les services dont le statut est « Running ».
5. Variables et objets
Déclaration :
$Nom = "Alice"
$Nombre = 42
Utilisation :
Write-Output "Bonjour $Nom"
Objets :
$Process = Get-Process
$Process[0].ProcessName
6. Exemples pratiques
Tâche Commande
Lister les processus Get-Process
Arrêter un processus Stop-Process -Name notepad
Lister les services Get-Service
Tâche Commande
Arrêter un service Stop-Service -Name Spooler
Créer un dossier New-Item -ItemType Directory -Path "C:\Test"
Lire un fichier texte Get-Content C:\Test\[Link]
7. Introduction aux scripts
7.1 Créer un script
1. Ouvrir PowerShell ISE.
2. Écrire :
Write-Host "Bonjour, ceci est mon premier script !"
Get-Date
3. Enregistrer sous MonScript.ps1.
4. Lancer :
.\MonScript.ps1
7.2 Paramètres et logique simple
param([string]$Nom)
Write-Output "Bienvenue $Nom"
Exécuter :
.\MonScript.ps1 -Nom "Alice"
8. Modules
PowerShell est extensible avec des modules (collections de cmdlets).
Lister les modules installés :
Get-Module -ListAvailable
Importer un module :
Import-Module ActiveDirectory
9. Exercices d’initiation
1. Afficher la date du jour et la stocker dans une variable.
2. Créer un dossier nommé BTS_SIO sur le disque C:.
3. Lister les 5 derniers événements système :
Get-EventLog -LogName System -Newest 5
4. Écrire un script qui demande le nom d’un utilisateur puis affiche :
« Bonjour [Nom], nous sommes le [Date] ».
10. Bonnes pratiques
Exécuter en administrateur pour les actions système.
Commenter vos scripts avec #.
Tester les commandes une par une avant de les mettre dans un script.
✅ Résumé
PowerShell est :
Un outil puissant pour l’administration Windows.
Basé sur des cmdlets (Verbe-Nom) et la manipulation d’objets.
Capable d’automatiser des tâches simples (création de dossiers) ou complexes (gestion d’Active
Directory, déploiement de serveurs).
💡 Pour aller plus loin
Microsoft Learn – PowerShell : [Link]
Pratiquez avec des labs : [Link]