Exemples de scripts PowerShell indispensables pour un technicien en informatique
PowerShell est un outil puissant et flexible, largement utilisé par les techniciens informatiques, les administrateurs système et les ingénieurs réseau. Grâce à son langage de script orienté objet, il permet d’automatiser un large éventail de tâches liées à la gestion des systèmes Windows et des réseaux. Dans cet article, nous vous proposons des exemples concrets de scripts PowerShell à utiliser dans votre quotidien de technicien en informatique. Chaque script est expliqué en langage simple pour une prise en main rapide, même si vous débutez. 🚀
🧰 Catégorie 1 : Scripts PowerShell pour l’administration système
1. Vérifier l’espace disque sur tous les lecteurs
Get-PSDrive -PSProvider 'FileSystem' | Select-Object Name, @{Name="FreeSpace(GB)";Expression={[math]::Round($_.Free/1GB,2)}}
Idéal pour surveiller la capacité de vos disques durs. Ce script affiche l’espace libre en Go pour chaque lecteur du système.
2. Redémarrer un ordinateur à distance
Restart-Computer -ComputerName "NomDuPC" -Force
Pratique pour redémarrer une machine sans y accéder physiquement.
3. Lister tous les services en cours
Get-Service | Where-Object {$_.Status -eq "Running"}
Permet d’afficher les services actifs. Un bon point de départ pour le dépannage.
🔐 Catégorie 2 : Sécurité et comptes utilisateurs
4. Créer un nouvel utilisateur local
New-LocalUser -Name "TestUser" -Password (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) -FullName "Utilisateur Test" -Description "Compte de test"
5. Ajouter un utilisateur à un groupe local
Add-LocalGroupMember -Group "Administrators" -Member "TestUser"
6. Désactiver un compte utilisateur
Disable-LocalUser -Name "TestUser"
🖧 Catégorie 3 : Réseau et connectivité
7. Pinger une liste d’ordinateurs
$liste = Get-Content "C:\liste_pc.txt"
foreach ($pc in $liste) {
Test-Connection -ComputerName $pc -Count 1
}
8. Récupérer l’adresse IP locale
(Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.InterfaceAlias -notlike "Loopback*"}).IPAddress
9. Tester la connexion à un port
Test-NetConnection -ComputerName google.com -Port 443
📁 Catégorie 4 : Fichiers et répertoires
10. Lister tous les fichiers d’un dossier
Get-ChildItem -Path "C:\Utilisateurs" -Recurse
11. Supprimer les fichiers de plus de 30 jours
Get-ChildItem -Path "C:\Temp" -Recurse | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} | Remove-Item -Force
12. Sauvegarder un dossier en zip
Compress-Archive -Path "C:\Données" -DestinationPath "C:\Sauvegarde\donnees.zip"
💻 Catégorie 5 : Gestion des processus
13. Lister les processus actifs
Get-Process
14. Fermer un processus spécifique
Stop-Process -Name "notepad" -Force
15. Vérifier l’utilisation mémoire par processus
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10 Name,WorkingSet
📅 Catégorie 6 : Planification et automatisation
16. Créer une tâche planifiée
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\backup.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 3am
Register-ScheduledTask -TaskName "Sauvegarde quotidienne" -Trigger $trigger -Action $action
17. Lister les tâches planifiées
Get-ScheduledTask
📌 Conclusion
PowerShell est un compagnon essentiel pour tout technicien informatique. Grâce à ces exemples de scripts, vous avez entre les mains une boîte à outils complète pour automatiser, diagnostiquer et optimiser votre environnement informatique. Que vous soyez débutant ou confirmé, vous pouvez adapter chaque script à vos besoins. Prenez le temps de tester, modifier, et surtout intégrer ces scripts dans votre routine professionnelle.
Besoin d’aller plus loin ? Pensez à créer vos propres modules personnalisés ou à utiliser des frameworks comme PowerShell DSC ou PowerCLI pour la gestion de VMware. Bon scripting !
🔄 Astuce finale : Stockez vos scripts dans un dépôt Git ou un OneDrive sécurisé pour y accéder facilement depuis n’importe quel poste.
💬 Avez-vous un script préféré ? Partagez-le en commentaire ou inspirez-vous de cette base pour bâtir votre propre bibliothèque PowerShell.