samedi 12 mai 2018

Automatiser le nettoyage des mises à jour de Windows


Étant amené à très souvent installer ou réinstaller des systèmes d'exploitation sur des machines diverses et variées, je me suis rendu compte que je faisais souvent les mêmes manipulations. Afin de gagner en efficacité, je me suis concocté quelques scripts (paramétrage des services, modifications à faire dans le registre, nettoyage de fichiers...). J'avais eu l'occasion d'aborder en septembre 2016 le nettoyage des mises à jour de Windows. Rien de compliqué en soi, mais pour être réalisées en entier et parfois à plusieurs reprises sur différentes machines, ces manipulations peuvent devenir vraiment rébarbatives. Je vais donc aujourd'hui présenter le script que j'ai mis au point pour automatiser toute la procédure.

J'ai eu l'occasion de décortiquer un peu plus le fonctionnement des mises à jour depuis la dernière fois et j'ai constaté qu'il était possible de nettoyer encore plus en profondeur. Si vous n'avez pas relu les informations que je notais dans le billet dont je mets le lien dans le paragraphe précédent, je précise simplement qu'en plus des dossiers que j'avais mentionnés à l'époque, le script que je présente ci-après va également supprimer le contenu du dossier C:\Windows\Installer\.

Si l'installation n'est pas récente et si les mises à jour n'ont pas été nettoyées, il est possible de récupérer un espace conséquent en supprimant le contenu de ce dossier. Je tiens toutefois à signaler que l'intérêt de le supprimer ne réside que dans l'espace qu'il est possible de récupérer. En effet, ce répertoire sert de cache pour les installeurs des divers logiciels présents sur l'ordinateur. Le fait de supprimer son contenu peut poser problème s'il s'agissait d'intervenir sur les logiciels en question, ou s'il s'agissait de revenir en arrière à la suite d'un souci avec une mise à jour du système. Certaines personnes considèrent qu'il est catégoriquement déconseillé de vider ce dossier mais jusqu'à présent, pour ma part, après avoir eu l'occasion d'utiliser le script sur de nombreuses machines je n'ai jamais eu à me plaindre du moindre dysfonctionnement. Par sécurité, il est préférable de lancer ce script après avoir pu s'assurer que tout fonctionne bien et que toutes les applications dont on a besoin ont bien été installées.


Je ne saurais naturellement être tenu pour responsable des problèmes rencontrés à l'utilisation du script. Je vous invite donc à voir comment il est fait, à comprendre comment il fonctionne et surtout à faire une sauvegarde de vos données avant de le lancer.


Voici donc le script en question et dans un premier temps, il faut ouvrir le bloc-notes (<Touche Windows> + <R>, taper notepad dans la zone de saisie puis valider en appuyant sur <Entrée>). Une fois le bloc-notes ouvert, il va falloir y copier le texte suivant :


@echo off
echo Nettoyage de Windows Update
echo Arret du service Windows Update
    sc stop wuauserv
echo Service arrete
echo ---
echo Nettoyage de C:\Windows\Installer
    del /q /s /f "%windir%\Installer\*.*"
    pause
echo ---
echo Nettoyage de C:\WindowsSoftwareDistribution\DataStore
    del /q /s /f "%windir%\SoftwareDistribution\DataStore\*.edb"
    del /q /s /f "%windir%\SoftwareDistribution\DataStore\Logs\*.log"
    pause
echo ---
echo Nettoyage de C:\Windows\SoftwareDistribution\Download
    del /q /s /f "%windir%\SoftwareDistribution\Download\*.*"
    del /q /s /f "%windir%\SoftwareDistribution\*.log"
echo Fait !
echo Redemarrage du service Windows Update
    sc config wuauserv start= demand
    sc start wuauserv
    pause
    echo Service redemarre
    cls


Une fois le texte copié dans le bloc-notes, il faut enregistrer le fichier. Pour cela, aller dans Fichier puis cliquer sur Enregistrer sous... Une fenêtre de l'explorateur s'ouvre et après avoir sélectionné l'endroit où l'on souhaite enregistrer le fichier, il faut prendre soin  de sélectionner l'option Tous les fichiers (*.*) dans la liste déroulante Type :. En effet c'est ce réglage qui permet d'enregistrer un fichier dans un format autre que le format *.txt par défaut. On va donc appeler le fichier WUCleanup.bat par exemple (il faut bien spécifier l'extension lors de la saisie).

Une fois le fichier enregistré, il apparaîtra à l'endroit défini avec une petite icône s'apparentant à un script. Pour l'utiliser, il conviendra de cliquer droit dessus, puis de choisir Exécuter en tant qu'administrateur puis passer outre le contrôle de compte utilisateur pour que le nettoyage se fasse.

Si l'on décortique le script, on peut voir qu'il se compose de plusieurs parties :
  • la première désactive le service Windows Update puis affiche un message d'information ;
  • la seconde nettoie C:\Windows\Installer puis le programme se met en pause (il m'a semblé pertinent de faire faire des pauses au script afin d'avoir le temps de lire ce qui s'inscrit à l'écran, mais ces instructions peuvent naturellement être enlevées) ;
  • nous passons ensuite au nettoyage de C:\WindowsSoftwareDistribution\DataStore, le processus passant en pause une fois le nettoyage effectué ;
  • c'est ensuite le tour du C:\Windows\SoftwareDistribution\Download. Le nettoyage est terminé ;
  • on finit donc par relancer le service Windows Update afin de retrouver un fonctionnement optimal des mises à jour (un message confirme la réactivation du service).

Aucun commentaire:

Enregistrer un commentaire