Comment installer le nettoyage de disque sur le serveur Windows 2012 sans installer Desktop Experience?

14

Le problème est simplement que je veux faire de mon mieux pour nettoyer / compacter le lecteur .vhdx d'une machine virtuelle avant d'exécuter l'applet de commande Optimize-VHD. C'est agréable d'utiliser l'utilitaire de nettoyage de disque de Microsoft. Le problème est qu'il n'est pas installé par défaut.

La façon officielle de l'obtenir est d'utiliser "Ajouter des rôles et des fonctionnalités" et d'ajouter la fonctionnalité "Expérience de bureau". Il y a des effets secondaires indésirables, parmi lesquels la fonctionnalité nécessite en outre les fonctionnalités "Media Foundation" et "Ink and Handwriting". Je veux juste "Nettoyage de disque".

Granger
la source
N'oubliez pas, contrairement à 2008 Desktop Experience est amovible et vous pouvez revenir à Server Core.
Michael Hampton
Vrai: C'est en partie comment j'ai compris cela. :) Mais maintenant je n'ai plus besoin de redémarrer mon serveur pour "l'installer".
Granger
Supprimez également tous les fichiers journaux sous c:\windows\logs\cbs. Certains utilisateurs signalent que plus de 20 Go sont consommés par ces journaux. Ces journaux se développent chaque fois que vous exécutez le nettoyage de disque ou les mises à jour Windows (et qui sait quoi d'autre). Si vous ne pouvez pas les supprimer, arrêtez le TrustedInstallerservice et réessayez.
James L.

Réponses:

17

"Nettoyage de disque" ne nécessite que 2 fichiers pour fonctionner (ensemble, moins de 260 Ko)

"cleanmgr.exe" pour votre plate-forme et un "cleanmgr.exe.mui" pour vos paramètres régionaux. Ils sont déjà sur votre ordinateur dans des sous-dossiers sous "% SystemRoot% \ WinSxS".

Tout d'abord, recherchez dans le dossier «% SystemRoot% \ WinSxS» «cleanmgr.exe». Vous trouverez probablement des fichiers dans les dossiers "amd64", "wow64" et "x86". J'ai choisi "amd64" pour les deux fichiers sur mon installation Windows Server 2012 Standard x64.

Copiez ces 2 fichiers à ces emplacements:

  • % SystemRoot% \ System32 \ cleanmgr.exe
  • % SystemRoot% \ System32 \ en-US \ cleanmgr.exe.mui

(Je suppose que, si vous utilisez un environnement local différent, WinSxS aurait plus de choix et que vous devrez copier le fichier .mui dans le sous-dossier de cet environnement local.)

Techniquement, vous avez terminé à ce stade. Exécutez "cleanmgr.exe" en tant qu'administrateur si vous voulez qu'il vous montre tout ce qu'il peut nettoyer (y compris les mises à jour Windows périmées stockées dans WinSxS, qui sont maintenant une option dans Win2012).

Si vous voulez plus de "GUI-ness", continuez ...

Pour obtenir votre nouveau "Nettoyage de disque" dans le menu Démarrer, créez un raccourci vers le fichier "cleanmgr.exe". Placez le nouveau raccourci dans le dossier "% ProgramData% \ Microsoft \ Windows \ Start Menu \ Programs \ Administrative Tools"; nommez-le "Nettoyage de disque". Maintenant, lorsque vous êtes dans le menu Démarrer, vous pouvez simplement taper "Nettoyage de disque", et vous aurez la possibilité de le démarrer en tant qu'administrateur au départ.

Pour que «Nettoyage de disque» apparaisse sous la forme d'un bouton dans la boîte de dialogue Propriétés d'un lecteur de disque, vous devez modifier le registre pour ajouter une nouvelle clé et «Valeur de chaîne extensible». Créez un nouveau fichier texte .reg et collez ce qui suit:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\cleanuppath]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6c,00,\
  65,00,61,00,6e,00,6d,00,67,00,72,00,2e,00,65,00,78,00,65,00,20,00,2f,00,44,\
  00,20,00,25,00,63,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\cleanuppath]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6c,00,\
  65,00,61,00,6e,00,6d,00,67,00,72,00,2e,00,65,00,78,00,65,00,20,00,2f,00,44,\
  00,20,00,25,00,63,00,00,00

La chaîne hexadécimale est "% SystemRoot% \ System32 \ cleanmgr.exe / D% c", au cas où vous voudriez l'ajouter manuellement. Pour moi, je n'avais besoin que de la première clé à ajouter. La deuxième clé était juste un autre endroit où j'ai trouvé le cadre. Pour info, il y avait 2 autres endroits dans le registre qui traitaient de "cleanmgr.exe", mais heureusement ils n'avaient pas d'importance pour cela, car ils utilisaient des trucs GUID ClassID.

Granger
la source
2
Si vous utilisez un système d'exploitation 64 bits, le winsxsdossier contient deux ensembles de fichiers . Les amd64fichiers entrent c:\windows\system32et c:\windows\system32\en-US, et les x86fichiers entrent c:\windows\syswow64et c:\windows\syswow64\en-US.
James L.
Il semble que cette méthode ne soit pas complète. Faire cela ne semble pas me donner la possibilité de supprimer "Installations Windows précédentes". L'installation de Desktop Experience sur un hôte donné ne le fera pas. Je vérifierai quelques autres serveurs pour le confirmer.
Michael Bisbjerg
1
J'ai essayé cela sur Win2012 R2, mais Windows me dit qu'il ne prend pas en charge l'exécution d'anciennes applications 16 bits (!). Regardé dans l'EXE, il semble être compressé, mais il ne semble pas y avoir d'utilitaire officiel pour l'extraire. J'ai trouvé celui-ci sur GitHub, cela a bien fonctionné sur mon installation et j'ai fait fonctionner l'assistant de nettoyage: github.com/hfiref0x/SXSEXP
Ale
Il semble que cela ne fonctionne plus anno 2018. J'ai plusieurs sous-dossiers (amd64, x86, wow64) dans le répertoire WinSxS avec plusieurs copies de cleanmgr.exe / cleanmgr.mui et aucune des combinaisons ne semble fonctionner - l'EXE se ferme dès que possible comme il est exécuté. J'ai également dû utiliser l'outil SXSEXP mentionné par @Ale pour que le cleanmgr.exe soit même exécutable.
Ian Kemp
ne fonctionne que partiellement (pas d'option "nettoyer les fichiers système")
jitbit