← Zpět na Systémy

Reset Windows Update: Definitivní MSP průvodce nástrojem RWU

windows-updatemsp-toolsrmm-automationdiagnosticspowershell

Skript na reset Windows Update od Manuela Gila překonal půl milionu stažení, než ho v březnu 2023 archivoval. Nástupce v Dev-C++ — Reset-Windows-Update-Tool, 513 hvězd na GitHubu — skončil ve stejném archivu 16. ledna 2026. Roky to byly nástroje, ke kterým sysadmini sahali, když Microsoftí poradce při potížích pokrčil rameny a řekl „nedokázali jsme identifikovat problém.”

Jsou pryč. A nic je nenahradilo.

Hledej dnes „reset Windows Update” a najdeš spoustu návodů pro spotřebitele. Screenshoty z panelů Nastavení. „Klikni na Řešení potíží, potom na Další nástroje pro řešení potíží.” Ironie: ten samý poradce při potížích je sám vyřazován s koncem MSDT. Microsoft vyřazuje svůj vlastní opravný nástroj.

Pro MSP techniky spravující stovky endpointů je ta mezera horší. Potřebuješ něco, co poběží tiše přes tvoje RMM. Něco, co nezničí tu konfiguraci Intune ringů, na které tvůj tým strávil tři týdny ladění. Něco, co vyprodukuje strukturovaný exit kód, ne GUI dialogové okno, před kterým nikdo nesedí.

Proto jsem vytvořil RWU. Není to další „jeden magický trik” na Windows Update. Je to 14kroký technický workflow pro revizi, reverzibilní, s bezpečnými výchozími hodnotami, nebezpečnými operacemi na přihlášení, CLI exit kódy pro automatizaci a strukturovaným diagnostickým výstupem pro AI analýzu. Jeden .cmd soubor. GPL-3.0. Žádný instalátor, žádná telemetrie, žádná persistence.

Terminálové rozhraní RWU Reset and Repair Utility pro Windows Update

Tři kategorie selhání

Většina průvodců Windows Update přeskočí diagnostiku a jde rovnou na opravu. Zastavit služby, smazat SoftwareDistribution, restartovat, držet palce. To funguje zhruba třetinu času. Zbylé dvě třetiny jsi ztratil dvacet minut a možná věci zhoršil.

Problém je, že selhání Windows Update není jeden problém. Jsou to tři.

Windows Update ukazující chybu instalace 0x800f0922 u dvou kumulativních aktualizací
Obrazovka, kterou každý sysadmin pozná — 0x800f0922 u dvou kumulativních aktualizací.

Kategorie 1: Poškození lokálního stavu. Složka SoftwareDistribution je zkorumpovaná. Catroot2 má nesoulad hashů. Fronta přenosu BITS je zaseknutá. Klasické kódy: 0x80070002, 0x80073712. Pipeline aktualizací stroje je ucpaný vlastními zastaralými daty. Lokální reset — zastavit služby, přejmenovat složky, znovu zaregistrovat DLL — to spolehlivě vyřeší.

Kategorie 2: Konflikty politik. Tohle je to, co kouše MSP. Stroj, který dříve mířil na WSUS server, má pořád registry cookie. Zařízení spravované Intune má konfliktní nastavení ringů Windows Update for Business navrstvená přes zbylou Group Policy z doby, kdy bylo připojeno k doméně. Symptomy vypadají identicky jako Kategorie 1. Řešení je úplně jiné — a pokud aplikuješ řešení Kategorie 1 bez vyčištění stavu politik, budeš zpátky za týden.

Kategorie 3: Microsoft něco rozbil. KB5089549 v květnu 2026 způsobilo chyby 0x800f0922, protože kumulativní aktualizace potřebovala víc místa na EFI oddílu, než kolik mělo mnoho strojů. KB5082063 v dubnu 2026 crashnulo LSASS na Domain Controllerech s Privileged Access Management a způsobilo nekonečnou smyčku restartu vyžadující nouzový out-of-band patch Microsoftu KB5091157. Žádný lokální reset skript tohle neopraví. Potřebuješ správný patch, údržbu oddílů, nebo boot do prostředí pro obnovení.

Nebezpečí záměny těchto kategorií je reálné. Přístup „zastavit všechny služby a smazat všechno včetně registry politik” opraví Kategorii 1. Katastrofálně poškodí Kategorii 2 — právě jsi odebral spravované zařízení ze svého rinku správy aktualizací. A ztrácí drahocenný čas u Kategorie 3, zatímco Domain Controller v tvém produkčním prostředí jede ve smyčce restartu.

Architektura RWU odpovídá přímo těmto kategoriím. Opravy Kategorie 1 jsou výchozí chování. Operace Kategorie 2 (smazání politik, reset SDDL) vyžadují explicitní aktivaci. Kategorie 3 je diagnostikována a označena jako „mimo rozsah tohoto nástroje — tady je co investigovat dál.”

Přehled nástrojů: Kdo dělá co

Tady je aktuální stav nástrojů na opravu Windows Update:

NástrojStavJednotlivé krokyRozhraníAI-ready logy?Ověření hashe?
RWUAktivníAno — 14 krokůTUI + CLI (0/1/2)AnoAno (SHA256)
Microsoft WU TroubleshooterVyřazeno s MSDTČástečněJen GUINeN/A
ManuelGil Reset-Windows-Update-ToolArchivováno led 2026AnoTUI menuNeNe
ManuelGil Script-Reset-WUArchivováno bře 2023AnoŽádnéNeNe
ChrisTitusTech/winutilAktivníNeGUINeNe
PSWindowsUpdateAktivníAnoCmdletNePodpis modulu

WinUtil si zaslouží zmínku. S přibližně 55 000 hvězdami je nástroj Chrise Tituse Techa nejviditelnější open-source Windows utilita. Je vynikající na odstraňování bloatware a konfiguraci systému. Ale jeho modul Updates jen přepíná mezi politikami aktualizací Default, Security-only a Disabled. Neopravuje rozbité komponenty Windows Update. Pokud někdo doporučuje WinUtil pro korupci component store 0x80073712, zaměňuje nastavení aktualizací s opravou aktualizací.

Nástroje Manuela Gila byly to pravé. .bat skript byl jednoduchý a účinný — zastavit služby, přejmenovat složky, znovu zaregistrovat DLL. Přesně ten KB971058 workflow, který Microsoft dříve dokumentoval. Ale žádná verze neměla exit kódy pro RMM, AI-ready diagnostiku ani oddělení bezpečných a nebezpečných operací. Všechno běželo v sekvenci, pokaždé.

Co RWU skutečně dělá

Architektura 14 kroků

Kroky RWU se seskupují do logických fází:

Krok 0 — Diagnostika. Než se cokoliv změní, RWU zachytí stav systému: verze a build OS, stav služeb pro wuauserv/cryptSvc/bits/msiserver/appidsvc, místo na disku včetně EFI oddílu, posledních 100 řádků CBS.log (ne celý stovky megabajtů velký soubor) a nedávné záznamy z logu událostí Windows Update. Tento výstup je navržený pro AI analýzu.

Kroky 1–2 — Zastavení služeb. Windows Update, Cryptographic Services, BITS, Windows Installer, Application Identity. RWU čeká na čisté zastavení místo násilného ukončení, čímž předchází poškození dat v component store.

Kroky 3–5 — Vyčištění a přestavba. SoftwareDistribution se přejmenuje s časovým razítkem — SoftwareDistribution.bak.20260522-143022 — takže spuštění nástroje podruhé neselhá na existující složce .bak. Catroot2 dostane stejný přístup. Poté se znovu zaregistrují klíčové Windows Update DLL: 34 DLL od atl.dll po wuwebv.dll, pokrývající celý pipeline aktualizací a kryptografie.

Kroky 6–7 — NEBEZPEČNÉ (pouze s explicitní aktivací). Krok 6 exportuje a poté smaže politiky registru Windows Update v HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate. Krok 7 resetuje bezpečnostní deskriptory služeb BITS a WU na výchozí hodnoty Windows. Obojí je ve výchozím nastavení VYPNUTO. Obojí vyžaduje explicitní aktivaci — TUI přepínač nebo CLI flagy /policy a /sddl.

Krok 8 — Oprava systémových souborů. sfc /scannow následovaný DISM /Online /Cleanup-Image /RestoreHealth. Kombinace pro korupci component store. RWU zachytí výstup pro diagnostickou revizi.

Kroky 9–10 — Síťový stack. Reset Winsock a vyčištění nastavení proxy. Tyto kroky zachytí případy, kdy selhání aktualizací je ve skutečnosti korupce síťového stacku.

Kroky 11–14 — Finalizace. Restartovat zastavené služby, vynutit cyklus detekce aktualizací, exportovat log událostí a vygenerovat souhrn se strukturovaným exit kódem.

Bezpečné výchozí hodnoty: Proč jsou kroky 6 a 7 zamčené

Tohle je architekturální rozhodnutí, na kterém mi nejvíc záleží.

Krok 6 maže politiky registru Windows Update. Na samostatném domácím PC je to v pořádku. Na zařízení spravovaném Intune jsi právě zničil členství v rinku Windows Update for Business. Zařízení přejde z „Pilotní ring, 7denní odklad” na „nespravované, instaluje cokoliv, co Microsoft právě pushne.” Na stroji, který pořád míří na WSUS server (ano, WSUS byl vyřazen v září 2024, ale spousta prostředí ho stále provozuje), jsi právě odstranil WSUS pointer a stroj začne stahovat aktualizace přímo z Microsoft CDN.

Krok 7 resetuje bezpečnostní deskriptory služeb. Na zabezpečeném enterprise endpointu, kde bezpečnostní nástroje záměrně zpřísnily tyto deskriptory, jsi právě prolomil tuto bezpečnostní posturu.

Průvodci aktualizacemi TroubleChute resetují politiky ve výchozím nastavení. Nástroje Manuela Gila spouštěly všechno v sekvenci bez konceptu postupné aktivace. RWU odděluje bezpečné operace od destruktivních. Výchozí je bezpečný. Nukleární opce je dostupná — ale musíš si o ni explicitně říct.

Jak začít

Jeden řádek:

irm matbanik.info/rwu | iex

Co se stane: launcher rwu.ps1 se stáhne z matbanik.info, stáhne nejnovější verzi RWU z GitHubu, ověří SHA256 hash, extrahuje Reset_WindowsUpdate.cmd a spustí s UAC elevation promptem. Pokud hash nesouhlasí, nic se nespustí.

RWU launcher ověřující SHA256 hash vedle hlavního TUI menu
Vlevo: launcher ověřuje SHA256 před spuštěním. Vpravo: TUI menu s bezpečnými výchozími hodnotami — kroky 6/7 vypnuté.

Model důvěry: GPL-3.0 zdrojový kód na GitHubu. SHA256 ověření před spuštěním. Jeden .cmd soubor — žádný instalátor, žádná persistence, žádná telemetrie. Můžeš auditovat každý řádek kódu, než se dotkne tvého endpointu.

Teď slon v místnosti. Blog o bezpečnosti Microsoftu v srpnu 2025 označil PowerShellové cmdlety irm a iex jako „velmi rozšířené” v kampaních sociálního inženýrství ClickFix. Útočníci nalákají uživatele ke spuštění irm škodlivá-stránka.com | iex a hra je u konce.

Ověření hashe v RWU to řeší přímo. Launcher neslepe stahuje a nespouští. Stáhne, ověří SHA256 proti publikovanému kontrolnímu součtu a spustí pouze při shodě. Kompromitovaná cesta stahování vytvoří nesoulad hashe a launcher se přeruší.

Pokud tě irm | iex pořád znepokojuje — pochopitelné — stáhni přímo z GitHub Releases. .cmd soubor je přímo tam. Ověř hash sám.

Chybové kódy a co znamenají

Chybové kódy Windows Update jsou hexadecimální utrpení. Tady je mapování nejběžnějších na to, co je skutečně rozbité, a které kroky RWU je řeší:

Chybový kódCo znamenáPříčinaKroky RWU
0x80070002Chybí soubor/klíč registruKorupce SoftwareDistributionKroky 3–5
0x800f0922Selhání CBS stagingVyčerpání místa EFI oddílu (květen 2026 KB5089549)Krok 0 diagnostikuje; kroky 3–5 pro staging
0x80073712Component store poškozenýNesoulad manifestů ve WinSxSKrok 8 (DISM)
0x800f081fChybí zdrojové soubory DISMNedostupný zdroj opravyKrok 8 s /Source:wim
0x80240069Čeká na restartPředchozí aktualizace vyžaduje restartKroky 11–14
0x8024402cNedosažitelné WU serveryProblém síťového stacku nebo proxyKroky 9–10
0x80244022Server nedostupnýMicrosoft CDN blokován nebo nedostupnýRWU diagnostikuje; problém firewall/proxy
0x8024401cTimeout připojeníProblém proxy nebo latenceKroky 9–10; potřeba pravidel firewallu

Kód 0x800f0922 si zaslouží pozornost. KB5089549 v květnu 2026 ho masově vyvolalo, protože kumulativní aktualizace potřebovala víc místa na EFI oddílu, než kolik mělo mnoho strojů. Microsoft potvrdil, že stroje s 10 MB nebo méně volného místa na EFI padaly do smyčky rollbacku při 35 % instalace. Diagnostika kroku 0 RWU nahlásí nízké místo na EFI. Nemůže za tebe změnit velikost oddílu — ale aspoň budeš vědět, že honíš hardwarové omezení, ne softwarovou korupci.

Integrace s RMM: CLI režim pro MSP

TUI je užitečné pro interaktivní odstraňování problémů. Pro deployment na flotilu potřebuješ CLI.

Exit kódy:

  • 0 — Úspěch. Všechny kroky dokončeny bez chyb.
  • 1 — Selhání. Minimálně jeden krok měl chyby. Zkontroluj log.
  • 2 — Chyba použití. Nesprávné argumenty nebo požadavek nápovědy.

CLI flagy:

FlagAkce
/diagPouze diagnostika (krok 0). Žádné změny.
/resetKompletní bezpečný reset (kroky 1–5, 8–14).
/step NSpustit konkrétní krok. Platné: 0, 1-2, 3, 4, 5, 6, 7, 8, 9-10, 11-14.
/policyAktivovat krok 6 (smazání politik). Explicitní aktivace.
/sddlAktivovat krok 7 (reset SDDL). Explicitní aktivace.
/logdir "cesta"Zapisovat logy do specifické složky.

Tichý deployment:

Reset_WindowsUpdate.cmd /reset /logdir "C:\Temp\RWU"

Tohle spustí bezpečnou resetovou sekvenci a zapíše logy do C:\Temp\RWU. Exit kód řekne tvému RMM, jestli to fungovalo.

Flag /diag je podceňovaný. Spusť ho na celé flotile před Patch Tuesday. Parsuj výstup. Identifikuj stroje s málo místa na EFI, zastavenými službami nebo zastaralými policy cookies předtím, než pushneš kumulativní aktualizaci. Pre-flight diagnostika šetří víc času než post-failure náprava.

RWU v CLI diagnostickém režimu se strukturovaným výstupem
RWU /diag režim — pouze diagnostika, žádné změny. Log je připraven pro AI analýzu.

AI-ready diagnostika

CBS.log je místo, kde žije debugování Windows Update. Je to taky místo, kde debugovací kariéry umírají. Soubor rutinně narůstá na stovky megabajtů granulární telemetrie servisu. Najít skutečnou poruchu v tom objemu je únavné i pro zkušené techniky.

Krok 0 RWU zachytí strukturovaný diagnostický snapshot — relevantní data, předpřipravená pro AI spotřebu.

Formát „Bottom Line” je ten úsporný trik. Dostaneš souhrn připravený pro klienta, který můžeš přímo vložit do tiketu nebo e-mailu — bez potřeby překladu. Zkontroluj přesnost, odešli. Víc jsem napsal o učení AI tvým komunikačním vzorcům a ověřování AI výstupů na přesnost v souvisejících článcích.

Klíčový poznatek: posílání 200 MB CBS.log do LLM je drahé a obvykle přesahuje limity kontextu. Poslání 100 předpřipravených relevantních řádků nestojí skoro nic a dává AI přesně to, co potřebuje.

Kdy RWU nepomůže

Upřímné limity budují víc důvěry než falešná jistota. Tady je, co RWU neumí opravit:

Vyčerpaný EFI oddíl. Krok 0 to diagnostikuje. RWU neumí měnit velikost oddílů. Potřebuješ diskpart nebo správce oddílů k rozšíření EFI oddílu, nebo vyčistit zastaralé boot záznamy pomocí bcdboot/bcdedit.

Smyčka restartu LSASS na Domain Controllerech. Dubnový KB5082063 2026 crashne LSASS dřív, než se stihne spustit jakýkoliv lokální nástroj. Potřebuješ out-of-band patch Microsoftu KB5091157 aplikovaný přes prostředí pro obnovení.

Selhání zápisu Windows 10 ESU. Pokud Extended Security Update licence nejsou validované, aktualizace selžou s chybami licence. To je problém licence, ne komponent WU.

Blokování na úrovni sítě. Pokud tvůj firewall blokuje endpointy Microsoft CDN, reset lokálního síťového stacku nepomůže. Stack je v pořádku. Politika blokuje provoz.

Neopravitelné poškození component store. Pokud DISM /RestoreHealth selže s „zdrojové soubory nemohly být nalezeny” a nemáš odpovídající install.wim, čeká tě in-place upgrade nebo čistá instalace. RWU ti řekne, že DISM selhal — neumí vykouzlit chybějící zdrojové soubory.

Co dál

Zdrojový kód RWU je na GitHubu. GPL-3.0. Dej hvězdu, pokud je užitečný — viditelnost pomáhá dalším technikům najít nástroj. Issues jsou otevřené pro bugy a požadavky na funkce.

Nástroje Manuela Gila sloužily komunitě Windows administrátorů roky. Když byly archivovány, zanechaly mezeru, kterou spotřebitelské návody a debloating utility nedokázaly vyplnit. RWU pokračuje tam, kde skončily — s přídavky, které moderní MSP workflow vyžadují: exit kódy, které tvoje RMM dokáže parsovat, bezpečné výchozí hodnoty, které nezničí tvoje spravované politiky, a diagnostický výstup navržený pro AI-rozšířené odstraňování problémů, které se stává novou normou.

Příkaz je irm matbanik.info/rwu | iex. Nebo stáhni z GitHubu. Tak nebo tak — přezkoumatelné, reverzibilní, profesionální kvality.


Zdroje