Script et automatisation - nettoyage avancé
Voici un script PowerShell avancé pour automatiser le nettoyage du disque C:\ d’un serveur ou d’un PC Windows.
# Arrêt des services Windows Update pour éviter les conflits
Write-Output "Arrêt du service Windows Update..."
Stop-Service -Name wuauserv -Force
Stop-Service -Name bits -Force
# Suppression des fichiers temporaires Windows
Write-Output "Suppression des fichiers temporaires..."
Remove-Item -Path "C:\Windows\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
# Nettoyage des fichiers de mise à jour Windows
Write-Output "Suppression des fichiers de mise à jour..."
Remove-Item -Path "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "C:\Windows\Logs\CBS\*" -Recurse -Force -ErrorAction SilentlyContinue
# Nettoyage des logs système et des fichiers de diagnostic
Write-Output "Suppression des fichiers journaux et diagnostics..."
Remove-Item -Path "C:\Windows\System32\LogFiles\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "C:\Windows\Prefetch\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "C:\inetpub\logs\LogFiles\*" -Recurse -Force -ErrorAction SilentlyContinue
# Exécution du nettoyage de disque avec les options prédéfinies
Write-Output "Exécution du Nettoyage de disque..."
cleanmgr /sagerun:1
# Nettoyage avancé des composants Windows
Write-Output "Nettoyage avancé de WinSxS..."
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
# Vérification et réparation des fichiers système corrompus
Write-Output "Exécution de SFC pour réparer les fichiers système..."
sfc /scannow
# Redémarrage des services Windows Update
Write-Output "Redémarrage des services Windows Update..."
Start-Service -Name wuauserv
Start-Service -Name bits
Write-Output "Nettoyage terminé avec succès !"
Explication du script :
- Arrête les services Windows Update (
wuauserv
etbits
) pour éviter les conflits. - Supprime les fichiers inutiles : temporaires, mises à jour téléchargées, logs système et diagnostics.
- Exécute
cleanmgr /sagerun:1
pour un nettoyage personnalisé. - Nettoie le dossier WinSxS pour récupérer de l’espace disque.
- Vérifie et répare les fichiers système corrompus avec
sfc /scannow
. - Redémarre les services Windows Update.
Comment l’exécuter ?
- Ouvrir PowerShell en tant qu'administrateur.
- Copier-coller ce script dans un fichier
nettoyage.ps1
. - Exécuter le script avec cette commande :
Bonus : Automatiser avec le Planificateur de tâches (taskschd.msc
)
Si tu veux exécuter ce script automatiquement toutes les semaines :
- Ouvre taskschd.msc.
- Crée une nouvelle tâche avec Exécuter avec les privilèges les plus élevés.
- Définis une planification (ex. : tous les dimanches à 3h du matin).
- Mets
"powershell.exe -ExecutionPolicy Bypass -File C:\chemin_du_script\nettoyage.ps1"
dans le champ programme/script.