Page 1 sur 1

Assistant de nettoyage de Windows

Posté : sam. 26 août 2017 07:48
par chtimi054
Assistant de nettoyage de Windows : automatisez la suppression de fichiers inutiles

Image

Alors que la rentrée approche, vous avez peut-être envie de faire un peu de ménage au sein de votre machine. Premier outil du genre que nous avons décidé d'analyser : l'assistant de nettoyage de Windows (cleanmgr.exe).

Avec le temps, nous avons tendance à entasser les données, mais nous ne sommes pas les seuls. Les applications et le système d'exploitation de la machine font de même. Il est ainsi parfois nécessaire de faire un peu de ménage afin de récupérer de l'espace au sein de vos disques et autres SSD.

Pour cela, il existe une galaxie d'outils, sur laquelle nous avons décidé de nous pencher. Et ce ne sont pas toujours les plus compliqués qui sont les plus efficaces. Ainsi, Microsoft fourni avec Windows un petit assistant nommé Nettoyage de disque, qui correspond à l'exécutable cleanmgr.exe.

Il permet de supprimer d'un coup les fichiers temporaires et autres caches, les précédentes installations de Windows, les fichiers de mise à jour, de vider la corbeille, etc. Problème, il fonctionne de manière individuelle pour chaque disque et n'est pas franchement pratique à utiliser. Pour le lancer, il faut ainsi :

Ouvrir l'explorateur de fichier dans la section Ce PC
Effectuer un clic droit sur le disque concerné
Sélectionner Propriétés
Sélectionner Nettoyage de disque
Sélectionner Nettoyer les fichiers systèmes (pour un nettoyage complet)

Et il faut parfois attendre un certain temps avant de voir la liste s'afficher, pour sélectionner les éléments concernés, puis lancer le nettoyage qui peut lui aussi prendre un peu de temps. Heureusement, il existe quelques astuces pour automatiser tout cela.
Un outil simple et efficace, que l'on peut rendre pratique à utiliser

Car cleanmgr.exe dispose de plusieurs options que l'on peut utiliser afin de se simplifier la vie. La première est la plus couramment utilisée puisqu'elle permet de l'ouvrir pour un disque en particulier :
cleanmgr /D D:
Mais il en existe d'autres, qui peuvent d'ailleurs être combiné avec celui-ci. Pour en avoir la liste, il suffit de demander à voir la fenêtre d'aide de l'application (cleanmgr /?). Elle n'est malheureusement pas très bien documentée par Microsoft mais avec de la recherche et quelques essais, on peut découvrir des astuces qui peuvent aider.

Image

Tout sélectionner par défaut

Vous pouvez ainsi cocher toutes les cases par défaut de manière automatique. Un grand nettoyage s'effectuera sans grande prise de tête, tout en pouvant désélectionner manuellement des éléments. Pour cela, utilisez la commande suivante :
cleanmgr.exe /lowdisk
Cette sélection de tous les éléments sera aussi active si vous décidez d'afficher les fichiers système. Il faudra par contre valider la liste de manière manuelle. Vous remarquerez qu'il reste toujours des éléments qui ne sont pas supprimés, car ils sont nécessaires au système. Il en sera de même avec les autres commandes que nous évoquerons.

Dans le cas des fichiers temporaires, il existe néanmoins une clé de la base de registre qui permet d'indiquer un nombre de jours pendant lesquels les fichiers doivent être préservés :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files
Vous y trouverez la valeur LastAccess qui est par défaut sur 7 (jours), mais que vous pouvez augmenter ou abaisser jusqu'à 0 selon vos besoins.
Des profils de nettoyage personnalisés

Si vous préférez tout automatiser, vous pouvez utiliser les commandes /sageset:n et /sagerun:n. Ici, le but est d'établir un ou plusieurs profils d'éléments à supprimer. Ces profils sont identifiés par un nombre entier n qui doit être compris entre 0 et 65535. Une fois créés, ils permettront d'automatiser la phase de nettoyage.

Création et utilisation du profil

Commençons par une commande qui va créer le profil n°42 :
cleanmgr /sageset:42
L'assistant de nettoyage de disque se lance alors afin d'afficher la liste des éléments qui peuvent être à supprimer (vous pouvez choisir d'afficher les fichiers système). On notera que contrairement au fonctionnement classique, on ne retrouve pas de taille correspondant à chaque élément, cette liste permettant simplement de créer le profil.

Celui-ci sera stocké à travers des StateFlags qui seront placés dans les clés de la base de registres correspondant aux différents éléments accessibles via l'assistant de nettoyage :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\
Il sera donc constitué des éléments que vous aurez sélectionnés et à chaque fois que vous lancerez un nettoyage en précisant le numéro de profil correspondant, ils seront automatiquement supprimés.

On peut par exemple essayer de ne sélectionner que la corbeille. Une fois remplie, il suffit d'utiliser la commande suivante afin de la vider grâce au profil créé précédemment :
cleanmgr /sagerun:42
L'assistant de nettoyage se lance alors, et l'on peut constater qu'il ne s'occupe bien que de la corbeille avant de se fermer. Notez que ce profil de nettoyage s'appliquera automatiquement à l'ensemble des lecteurs de votre machine, sans possibilité de pouvoir en cibler un en particulier.

Une troisième option est censée permettre la création du profil puis son application automatique. Néanmoins, cela n'a pas fonctionné avec nos machines de test :
cleanmgr tuneup:42
Automatisation de la tâche

On peut aller plus loin et effectuer cette action de manière récurrente à travers l'utilisation du planificateur de tâches (taskschd.msc) et la création d'une tâche de base (menu Action). Vous devrez lui choisir un nom, une récurrence (déclencheur) et une action qui permettra de reproduire la commande de lancement du profil.

Une fois ceci fait, vous n'aurez plus à vous soucier de la place que prennent ces fichiers qui seront automatiquement nettoyés au rythme que vous avez décidé. On peut aussi imaginer un fonctionnement avec divers profils qui sont lancés chacun avec une récurrence différente selon leur composition.

Image

Image

Image

Image

Des profils de nettoyage préétablis

Si vous ne voulez pas avoir à créer un profil de manière manuelle, vous pouvez décider d'utiliser d'autres fonctionnalités qui ont été mises en place par Microsoft.

La première permet de faire croire au système que l'espace disque restant est très faible. Il va sélectionner des éléments, puis les supprimer automatiquement avant de vous indiquer l'espace disponible. Attention, aucune confirmation ne vous sera demandée :
cleanmgr /verylowdisk
Selon nos constatations, cela n'effectue néanmoins pas un ménage aussi complet qu'avec le mode manuel (/lowdisk) ou via les profils. C'est néanmoins une solution de facilité en cas de besoin de nettoyage rapide.

Deux autres se focalisent surtout sur les fichiers laissés lors d'installations précédentes. Le premier permet d'établir une simple liste à travers deux fichiers de log, alors que le second effectuera un nettoyage :
cleanmgr /setup
cleanmgr /autoclean

C:\Windows\System32\LogFiles\setupcln\setupact.log
C:\Windows\System32\LogFiles\setupcln\setuperr.log
Un petit outil pour vous éviter la ligne de commandes

Pour ceux qui voudraient s'éviter d'avoir à taper toutes ces différentes commandes ou même avoir à les retenir, nous avons créé un petit outil afin de vous simplifier la vie : Cleanmgr Assistant.

Sous licence GPL v3, son code est disponible via GitHub. Il référence les différents SSD/HDD présents sur votre machine, ainsi que l'espace libre restant. Une liste des actions vous permettra d'effectuer un nettoyage classique, complet, automatique ou même de créer et d'utiliser un profil (#42).

Télécharger Cleanmgr Assistant https://github.com/david-legrand/Cleanm ... t/releases

Image

merci à NextInpact