(modifié le 16 avril 2016 à 18:19)

shield-windows-update-logoPour mettre à jour une machine Windows XP fraîchement installée et ne comportant pas tous les correctifs de Microsoft, voir même les service packs, vous avez certainement pour habitude d'aller sur le site Microsoft Windows Update pour le faire.

Je vous propose une façon de forcer la vérification et l'installation d'éventuelles mises à jour Windows, sans attendre que le système aille par lui même vérifier.

Fonctionne avec Windows XP, Vista et 7.

A partir d'une certaine date, Microsoft a diffusé via WUpdate une application de "Mises à jour automatiques" (wuauclt) qui réalise les mises à jour directement depuis Windows et qui apparaît à coté de l'heure dans la barre des tâches quand une mise à jour est disponible.

wuauclt-mise-a-jour-windows-xp

L'application est similaire sous Windows Vista, elle est simplement mieux intégrée visuellement.

Cette application vérifie à une heure précise (3h du matin par défaut) si des mises à jours sont téléchargeables (l'heure est modifiable). Si vous déployez fréquemment des stations dans un parc informatique, il peut être utile de forcer l'installation de ces mises à jour, sans attendre que ce soit l'application qui aille les chercher.

Je vous propose un script .cmd (trouvé sur le web) qui va interroger le serveur de mise à jour, et télécharger immédiatement les mises à jour s'il y en a :

@echo off
 Echo This batch file will Force the Update Detection from the AU client:
 Echo 1. Stops the Automatic Updates Service (wuauserv)
 Echo 2. Deletes the LastWaitTimeout registry key (if it exists)
 Echo 3. Deletes the DetectionStartTime registry key (if it exists)
 Echo 4. Deletes the NextDetectionTime registry key (if it exists)
 Echo 5. Restart the Automatic Updates Service (wuauserv)
 Echo 6. Force the detection
 Pause
 @echo on
 net stop wuauserv
 REG DELETE "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v LastWaitTimeout /f
 REG DELETE "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v DetectionStartTime /f
 Reg Delete "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v NextDetectionTime /f
 net start wuauserv
 wuauclt /detectnow
 @echo off
 Echo This AU client will now check for the Updates on the Local WSUS Server.
 Echo.
 Echo This script is provided by https://blogmotion.fr
 Pause

Téléchargez puis double-cliquez sur le script pour le lancer :

script-forcer-maj-windows-xp

Le script explique ce qu'il va faire, appuyez sur une touche pour qu'il débute (ou enlevez "pause" à la ligne 9).

Des erreurs peuvent apparaitre au cours de l'éxecution du script, suivant si certaines clés de registre sont présentes ou non sur la machine en question, merci de ne pas en tenir compte.

Ce script marche également si vous avez un serveur WSUS dans votre architecture, il force simplement le client a aller chercher les mises à jour sur celui-ci. Si vous n'avez pas de serveur WSUS ce sont les serveurs Microsoft qui répondront. En fait, le script ne touche absolument pas à l'adresse du serveur cible configuré (contenu dans une clé de registre) pour les mises à jour.

Note : il me semble que l'application de mise à jour automatique n'était pas présente dès le début de Windows XP, elle a du faire son apparition autour du SP2 pour Windows XP. Il se peut donc que vous soyez obligé de faire un premier passage sur Windows Update pour descendre cette mise à jour de l'application (une fois installée, vous pouvez quitter le site de WU).

Je vous invite également à consulter mon billet sur le catalogue en ligne des mises à jour de Microsoft (tous OS confondus).

Télécharger le script force-update-msus-client.cmd

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter