Nettoyage d'un disque Système
Maintenance et Nettoyage SQL et Windows
1. Base de Données SQL
-
20% est un minimum pour que la BBD soit fonctionnelle et efficace.
Une base de données doit toujours disposer d'au moins 20 % d'espace libre pour garantir ses performances et éviter les erreurs. -
SQL Management Studio peut nous donner des informations sur la BDD.
Utiliser SQL Management Studio pour surveiller l’état de la base de données, identifier les problèmes et optimiser les requêtes. -
Les journaux d’évènements doivent être consultés pour voir quel est le problème.
Vérifier les logs d’évènements Windows et SQL Server pour détecter les erreurs ou alertes. -
Vérification des sauvegardes et des repositories.
S'assurer que les sauvegardes sont bien réalisées et que l’espace de stockage est suffisant (vérifier les points de rétention).
2. Nettoyage du disque C d’un serveur Windows
Suppression des fichiers inutiles
-
Nettoyage automatique avec l'outil Disk Cleanup
cleanmgr /sagerun:1Exécute l’outil de nettoyage de disque avec des options avancées.
-
Vérification et suppression des fichiers temporaires
del /q /s C:\Windows\Temp\* del /q /s C:\Users\*\AppData\Local\Temp\*Efface les fichiers temporaires du système et des utilisateurs.
-
Suppression des anciens fichiers Windows Update
del /q /s C:\Windows\SoftwareDistribution\Download\*Libère de l'espace en supprimant les anciennes mises à jour Windows téléchargées.
-
Suppression des fichiers de logs système
del /q /s C:\Windows\System32\LogFiles\* del /q /s C:\inetpub\logs\LogFiles\*Supprime les journaux Windows et IIS pour libérer de l’espace.
-
Suppression des fichiers de prélecture (Prefetch)
del /q /s C:\Windows\Prefetch\*Nettoie les fichiers de prélecture pour optimiser les performances.
Nettoyage du dossier WinSxS
-
Commande pour réduire la taille de WinSxS
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBaseSupprime les anciennes versions des mises à jour pour récupérer de l’espace.
3. Nettoyage avancé avec DISM et SFC
-
Suppression des anciennes mises à jour du système
dism /online /cleanup-image /SPSupersededSupprime les anciennes mises à jour du système et libère de l’espace disque.
-
Nettoyage avancé des composants Windows
dism /online /cleanup-image /StartComponentCleanupOptimise les composants Windows et réduit l’espace utilisé par le système.
-
Vérification et réparation des fichiers système corrompus
sfc /scannowScanne et répare les fichiers système endommagés.
-
Vérification des erreurs disque
chkdsk C: /F /R /XCorrige les erreurs sur le disque C et tente de récupérer les secteurs défectueux.
📌 En savoir plus sur Pagefile.sys
4. Automatisation du nettoyage
-
Planification d’un nettoyage automatique
-
Ouvrir le Planificateur de tâches (
taskschd.msc) -
Créer une nouvelle tâche avec
cleanmgr /sagerun:1 -
Définir une exécution hebdomadaire
-
Cela permet de maintenir automatiquement un disque propre et performant.
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 (
wuauservetbits) pour éviter les conflits. - Supprime les fichiers inutiles : temporaires, mises à jour téléchargées, logs système et diagnostics.
- Exécute
cleanmgr /sagerun:1pour 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.