Articles

Nettoyage de disque dans Windows Server

Au fil du temps, à mesure que votre serveur Windows s’allonge, de plus en plus d’espace disque est consommé. Tout simplement disparu! L’étude de l’utilisation du disque vous laisse désemparé; il n’y a pas de gros fichiers journaux, de vidages sur incident ou de logiciel à supprimer. Où est passé cet espace ?

La réponse : Mises à jour Windows, Service Pack et installations de correctifs.

Protip: cet article vous montre également comment déplacer le dossier SoftwareDistribution de Windows Server et le dossier Documents de l’utilisateur vers une partition différente.

Nettoyage WinSxS dans Windows Server – utilisation de DISM et PowerShell #

L’utilitaire de nettoyage de disque Windows cleanmgr n’est pas disponible dans Windows Server 2012 si la fonctionnalité Expérience de bureau n’est pas installée. Cela rend le nettoyage de l’espace disque utilisé un peu plus difficile. Vous pouvez utiliser votre ligne de commande cmd.exe ou PowerShell, et utiliser le Service et la gestion des images de déploiement (DISM) pour nettoyer le magasin de composants Windows (WinSxS) dans Windows Server 2012 et versions ultérieures.

Le dossier WinSxS se trouve dans le dossier Windows, par exemple C:\Windows\WinSxS . C’est l’emplacement des fichiers du magasin de composants Windows.

Le magasin de composants Windows contient tous les fichiers requis pour une installation Windows. Et, toutes les mises à jour de ces fichiers sont également conservées dans le magasin de composants au fur et à mesure que les mises à jour sont installées (source: KB 2795190 – et lisez Gérer le magasin de composants). Le dossier WinSxS deviendra volumineux

Nettoyons WinSxS !

Récupérez l’espace disque utilisé avec le Service et la gestion des images de déploiement (DISM) #

Rituels de nettoyage après le défilé
Rituels de nettoyage après le défilé. Image via Flickr par Pabak Sarkar

Dism disk cleanup: Deployment Image Servicing and Management (DISM) est un outil en ligne de commande qui vous permet d’installer, de désinstaller, de configurer et de mettre à jour les fonctionnalités, les packages, les pilotes et les paramètres internationaux de Windows. Le paramètre /Cleanup-Image de dism.exe fournit aux utilisateurs avancés plus d’options pour réduire davantage la taille du dossier WinSxS.

Le Dism.exe /Online /Cleanup-Image a quelques paramètres supplémentaires (ou commutateurs) :

  • /AnalyzeComponentStore
  • /StartComponentCleanup
  • /ResetBaseavec /StartComponentCleanup
  • /SPSuperseded

Tout au long de cet article, je suppose que vous lirez les options d’aide, ajoutez simplement /?, comme: dism.exe /Online /Cleanup-Image /? div>.

Si vous avez apprécié cela, vous pourriez également profiter du post suivant résumant 5 façons supplémentaires de nettoyer l’espace disque dans Windows Server!

Analysez le dossier WinSxS (Magasin de composants) avec /AnalyzeComponentStore #

Vous pouvez d’abord utiliser le paramètre /AnalyzeComponentStore. Cela analyse la taille du magasin de composants dans Windows. L’option AnalyzeComponentStore est disponible dans Windows 8.1 Windows Server 2012 R2, et elle vous avertira si un nettoyage du magasin de composants est recommandé ou non.

dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Code language: PowerShell (powershell)
dism.exe /online /Cleanup-Image /AnalyzeComponentStore
dism.exe /online /Cleanup-Image /AnalyzeComponentStore

In the above image, AnalyzeComponentStore recommends a Component Store Cleanup. Let’s do so.

/StartComponentCleanup parameter#

Dism.exe removes superseded and unused system files from a system with the /StartComponentCleanup parameter.

dism.exe /Online /Cleanup-Image /StartComponentCleanup
Code language: PowerShell (powershell)
dism.exe /online /Cleanup-Image /StartComponentCleanup
dism.exe/online/Cleanup-Image/StartComponentCleanup

Il existe également une tâche planifiée enregistrée appelée StartComponentCleanup. Vous pouvez démarrer cette tâche à partir de la ligne de commande :

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Code language: PowerShell (powershell)

Le paramètre /StartComponentCleanup est pris en charge sur Windows 8, Windows Server 2012 et versions ultérieures.

En utilisant le paramètre /StartComponentCleanup de Dism.exe sur Windows 10 vous donne des résultats similaires à l’exécution de la tâche StartComponentCleanup dans le planificateur de tâches, sauf que les versions précédentes des composants mis à jour seront immédiatement supprimées (sans délai de grâce de 30 jours) et vous n’aurez pas de limitation de délai d’attente de 1 heure.

À partir d’une invite de commande élevée, tapez ce qui suit:Copiez

Dism.exe /online /Cleanup-Image /StartComponentCleanup
Code language: PowerShell (powershell)

/Commutateur de base de réinitialisation avec le paramètre /StartComponentCleanup #

En utilisant le commutateur /ResetBase avec le paramètre /StartComponentCleanup de dism.exe, toutes les versions remplacées de chaque composant du magasin de composants sont supprimées.

dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Code language: PowerShell (powershell)
dism.exe/online/Cleanup-Image/StartComponentCleanup/ResetBase
dism.exe/online/Cleanup-Image/StartComponentCleanup/ResetBase

Tous les service packs et mises à jour existants ne peuvent pas être désinstallés une fois cette commande terminée. Cela ne bloquera pas la désinstallation des futurs service packs ou mises à jour.

Le paramètre /ResetBase est pris en charge sur Windows 8.1 et Windows Server 2012 R2.

/SPSuperseded parameter#

Le paramètre /SPSuperseded supprime tous les composants de sauvegarde nécessaires à la désinstallation d’un service pack. Le service pack ne peut pas être désinstallé une fois cette commande terminée.

dism.exe /Online /Cleanup-Image /SPSuperseded
Code language: PowerShell (powershell)

Le Service Pack ne peut pas être désinstallé une fois cette commande terminée.

Le paramètre /SPSuperseded est pris en charge sur Windows 7 ou Windows Server 2008 R2 Service Pack 1, 2012, 2012 R2.

L’option /AnalyzeComponentStore est disponible dans Windows 8.1 et Windows Server 2012 R2. Utilisez cette option pour analyser la taille du magasin de composants (dossier WinSxS) dans Windows.

L’outil de nettoyage de disque est disponible sur Windows Server 2012 mais pas Windows Server 2012 R2#

Comme indiqué au début de cet article, l’outil de nettoyage de disque est disponible dans Windows Server 2012, si vous installez la fonction Expérience de bureau.

Dans certaines versions de Windows Server, vous pouvez simplement copier cleanmgr.exe et cleanmgr.exe.mui vers C:\Windows\system32 et C:\Windows\system32\en-Us à partir d’un ancien serveur Windows 2008 R2, si vous vous ne souhaitez pas installer la fonctionnalité Expérience de bureau.

Les étapes suivantes pour installer (copier) cleanmgr peuvent ne pas fonctionner sur toutes les versions de Windows Server. Essayez par vous-même.

Addon de l’Assistant de nettoyage de disque sur Windows Server 2008 R2
Microsoft KB2852386 ajoute une option de nettoyage de disque sur Windows Server 2008 R2, similaire à la mise à jour de Windows 7. J’ai testé cela sur Windows Server 2012. Il peut ne pas tout nettoyer, mais au moins beaucoup.

Voici comment rendre cleanmgr.exe disponible sur Windows Server 2012 Standard (version Windows 6.2.9200), sans installer la fonctionnalité d’expérience de bureau:

Microsoft Windows (c) 2012 Microsoft Corporation. All rights reserved.PS C:\Users\jan> $osversion = ::OSVersion.VersionPS C:\Users\jan> write-host $osversion6.2.9200.0C:\Windows\System32>cd ..C:\Windows>copy WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui \Windows\system32\en-US 1 file(s) copied.C:\Windows>copy WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe \Windows\system32 1 file(s) copied.C:\Windows>system32\cleanmgr.exeC:\Windows>
Code language: PowerShell (powershell)

Malheureusement, cela ne fonctionne plus sur Windows Server 2012 R2 (6.3.9600), probablement à cause de KB2821895. Comme Aaron l’a souligné dans les commentaires, la solution ci-dessus pour copier les fichiers cleanmgr.exe et cleanmgr.exe.mui ne fonctionne pas toujours bien. Par conséquent, j’ai supprimé ces informations pour Windows Server 2012 R2.

Heureusement, la fonctionnalité de nettoyage de disque est de retour dans Windows Server 2016 (au moins TP5).

Nettoyage de disque dans Windows Server 2016 TP5
Nettoyage de disque dans Windows Server 2016 TP5

Après avoir nettoyé le disque, un redémarrage du serveur est nécessaire. N’oubliez pas de redémarrer votre ordinateur – ou votre serveur – par la suite ! Le nettoyage réel du répertoire WinSxs se produit lors du prochain redémarrage.

Erreur 0x800f0906 avec DISM/Online/Cleanup-Image, PowerShell Install-WindowsFeature et SFC/scannow #

Certains rapports sont disponibles expliquant le bulletin de sécurité Microsoft MS14-046 cassé DISM/Online/Cleanup-Image/RestoreHealth, PowerShell Install-WindowsFeature avec le paramètre -Source, et

SFC /scannow

. Oui, ça a beaucoup cassé

Une mise à jour est mise à disposition par Microsoft : KB3005628

Mise à jour pour le .NET Framework 3.5 sur Windows 8, Windows 8.1, Windows Server 2012 et Windows Server 2012 R2. Cette mise à jour résout un problème qui empêche l’activation de la fonctionnalité facultative de Microsoft .NET Framework 3.5 après l’installation de la mise à jour de sécurité 2966827 ou 2966828 (décrite dans le bulletin de sécurité Microsoft MS14-046) pour Microsoft .NET Framework 3.5.

Déplacer le dossier de distribution de logiciels Windows Server #

Au fil du temps, votre dossier de distribution de logiciels de mises à jour Windows dans c:\Windows\SoftwareDistribution peut devenir assez volumineux, par exemple lorsque plusieurs mises à jour n’ont pas été installées avec succès.

Les fichiers Windows Update sont téléchargés dans ce dossier et supprimés après une installation réussie. Lorsque vous vous trouvez dans une situation où votre partition C: est plutôt petite et que le dossier SoftwareDistribution consomme trop d’espace disque, procédez comme suit pour déplacer le dossier SoftwareDistribution vers un emplacement différent.

Tout dans un shell cmd.exe (Démarrez > Exécutez >cmd et appuyez sur entrée). Dans cet exemple, le nouvel emplacement est D:\Windows-SoftwareDistribution.

  1. Arrêtez le service de mise à jour Windows : net stop wuauserv
  2. Renommez le dossier c:\Windows\SoftwareDistribution en c:\Windows\SoftwareDistribution.oldrename c:\windows\SoftwareDistribution SoftwareDistribution.old
  3. Créez un lien en utilisant la jonction Windows Sysinternals, ou Windows mklink
    • Créez le nouveau répertoire :
      mkdir D:\Windows-SoftwareDistribution
    • Créez la jonction :
      c:\>junction C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution", ou:
      c:\>mklink /J C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution"
  4. Redémarrez le service de mise à jour Windows: net start wuauserv

Lorsque, après un certain temps, tout semble fonctionner et se mettre à jour correctement, supprimez votre distribution logicielle.ancien dossier.

Déplacer le dossier de documents utilisateur #

Une autre façon pour vous de gagner de l’espace libre supplémentaire est de déplacer le dossier de Documents utilisateur (et d’autres, comme les Téléchargements), par exemple de C:\Users\$USER$\Documents vers D:\User\$USER$\Documents (remplacezUSERUSER with par le nom d’utilisateur dont vous souhaitez déplacer le dossier de Documents). Voici les étapes à suivre (captures d’écran prises à partir de Windows Server 2016 TP5):

  1. Ouvrez l’Explorateur et faites un clic droit sur le dossier Documents, puis Propriétés
  2. Choisissez l’emplacement
  3. Modifiez l’emplacement où les fichiers sont stockés
  4. Lorsque la destination n’existe pas, Windows vous demande de créer le dossier pour vous
  5. Une fois terminé, les fichiers sont déplacés vers leur nouvel emplacement.
Déplacer un Dossier de Documents Utilisateur Windows, étape 01
Déplacer un Dossier de Documents Utilisateur Windows, étape 01

Déplacer un Dossier de Documents Utilisateur Windows, étape 02
Déplacer un Dossier de Documents Utilisateur Windows, étape 02

Déplacer un dossier de Documents Utilisateur Windows, étape 03
Déplacer un dossier de Documents Utilisateur Windows, étape 03

Conclusion #

Oui, le magasin de composants Windows (dossier WinSxS) peut devenir grand, très grand. Mais heureusement, Microsoft nous fournit les outils pour surveiller, gérer et nettoyer le dossier WinSxS pour retrouver cet espace disque utilisé.

Si vous êtes à l’aise avec l’installation de la fonctionnalité Windows de l’expérience de bureau sur votre système, vous pouvez avoir l’utilitaire de nettoyage de disque sur votre système. Sinon, vous pouvez utiliser la commande DISM (Deployment Image Servicing and Management) pour diverses tâches de nettoyage.

Pour gagner un peu d’espace libre supplémentaire, vous pouvez également déplacer le dossier Windows SoftwareDistribution vers une autre partition.