惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
T
ThreatConnect
SecWiki News
SecWiki News
F
Future of Privacy Forum
AWS News Blog
AWS News Blog
C
Cisco Blogs
A
Arctic Wolf
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Scott Helme
Scott Helme
V
V2EX
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
K
Kaspersky official blog
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
NISL@THU
NISL@THU
Microsoft Azure Blog
Microsoft Azure Blog
量子位
The Hacker News
The Hacker News
Stack Overflow Blog
Stack Overflow Blog
Security Latest
Security Latest
M
Microsoft Research Blog - Microsoft Research
Google Online Security Blog
Google Online Security Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
InfoQ
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Troy Hunt's Blog
F
Fox-IT International blog
S
Security @ Cisco Blogs
博客园 - 司徒正美
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Comments on: Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 最新话题
GbyAI
GbyAI
Project Zero
Project Zero
腾讯CDC
T
Tailwind CSS Blog

DEV Community

The Treasure Hunt Engine That Broke Before the Traffic Did Your Resume Was Never Built for This VCP-Virtual Private Cloud RAG 시스템 실전 구축 (v42) copilot cloud agent is becoming an automation api Cx Dev Log — 2026-04-23 Why Tesla Is Becoming the AI Enterprise Case Study Every Leader Should Understand ORA-00214 오류 원인과 해결 방법 완벽 가이드 SpecAgnt v2.0: The Agent Lifecycle Framework for AI-Native Engineering Optimizing Signal Latency and Weight Allocations in Algorithmic Pipelines SSH Under the Hood: Protocols, Mechanisms, and the Full Technical Story دليل بوابات الدفع للتاجر العربي في 2026 (وكيف تختار المناسبة لمتجرك) Cómo Mi Configuración de Docker Me Salvó de un Ataque de Supply Chain (Y Por Qué la Tuya Debería Hacerlo También) How My Docker Setup Saved Me From a Supply Chain Attack (And Why Yours Should Too) Astro: The epitome of SEO Technical Update I Gave My AI Agent the Ability to Research Before It Writes — Here’s What Changed Kubernetes sem Cloud Provider (Parte 2): Criando Operators em Go para automação e self-service de plataforma AI Memory Needs an Authority Policy, Not Just More Context You've done tutorial after tutorial. Your GitHub is still empty. (Free 1‑page PDF, no signup) TypeScript 7.0: The Go Compiler That Makes TS 10x Faster Connecting Wallets the Right Way: wagmi v2 and EIP-6963 The 5-Layer Architecture Every Production Multi-Agent System Needs (And Why Most Skip Layers 4 and 5) CSS Scroll-Driven Animations: No JavaScript Required Vite 8 + Rolldown: Rust-Powered Builds That Are 10–30x Faster Core Architectural Components of Azure My Skills How I Use AI as a Senior Engineer Construí um motor ATS determinístico porque estava cansado de adivinhar por que meu currículo era rejeitado SCS-Lab1 — CloudTrail: Trail + S3 + KMS + Log Validation LuisCore MCP server — daily syndication · 2026-05-25 Cursor vs JetBrains Rider for C#/.NET in 2026: which to pay for I built a local-first movie recommender with Corrective-RAG (cited explanations, hybrid retrieval, runs entirely on Ollama) Scaling to 1 Million Users : Load Balancing & Caching Strategies How the Events Table That Looked Right Killed Our Queue Three Failures My AI Memory System Caught — And the Flaw It Revealed in Itself dotnet Framework life cycle tool LangGraph 워크플로우 템플릿 (v41) I built a free image compression API — no signup, just curl Designing TikTok from Scratch — A System Design Deep Dive PREDICTION-20260525-0007: boredom-with-asymmetric-leverage [2026-Q3 through 2027-Q3] [Boost] How to integrate the QuickBooks Invoice API in 2026 How I Cut My Anthropic API Bill by 50% With a Local Python Tool Vibe Coding Problems: 7 Visual Bugs AI Code Generators Always Ship Chinese AI Models 2026: The Agentic Revolution, Hardware Independence, and What It Means for Global Developers The Quiet AI War Inside Your Browser The 12-Line Anti-Bot Trick That Saved Our Airdrop Snapshot From Sybil Farms Building a production-ready SaaS dashboard in Next.js 16 — Recharts, TanStack Table, dark mode, and collapsible sidebar Why 2026 Belongs to Agentic AI (And How to Build Your First Local Agent) It Was 2024 When We Tried to Outsmart the Treasure Hunt Engine RAG 시스템 실전 구축 (v40) I Found a Tool That Generates a Complete .NET 8 or Java Spring Boot API From SQL Schema in 30 Seconds I Added a 4th Agent That Audits My Other Agents. It Caught My Strategist Procrastinating for 3 Weeks. Streaming LLM responses to the browser in Go (Server-Sent Events) How We Publish and Manage Educational Admission Updates at Scale on DailyAxom A prompt is not a conversation. It's a component contract. How to Pass the EAA 2025 Accessibility Audit — A Step-by-Step WCAG Checklist Building an Autonomous MCP Lead Generation System with Hermes Agent LangGraph 워크플로우 템플릿 (v40) How I Built 100 Browser-Based Image Tools With No Server (FFmpeg WASM, PDF-lib, AI Background Removal) Nginx CVE-2026-9256, AI Prompt Injection Defenses, and Claude AI Data Leak Demo Scaling RAG for 10M+ Docs, .md Agent Memory, & Claude Code for Motion Graphics Diagram as Code with draw.io DuckDB Delta, PostgreSQL 17 Migration, & SQLite Optimization Deep Dives Windows 11 Microsoft Account Login Recovery During Internet Restrictions The Linux Commands You Forgot Exist (And Why AI Workflows Make Them Relevant Again) Spec-Driven Development Without an IDE: I Generated NestJS, Go, Spring Boot, Laravel, and Rust Apps From a Single PRD File Components are states Edge SEO y Middleware: Cómo Interceptar a Googlebot y LLMs antes de llegar a tu Servidor Context window exceeded at turn 23. Here's how I track token usage without a tokenizer. My Hermes agent spent $3 before I noticed. Now it can't. My Hermes agent's stop condition was a 40-line if/elif chain. I replaced it with 3 lines. My agent kept hitting context limits. This one function fixed it. Create and configure Azure Firewall Your Hermes agent's audit log is leaking customer emails. Here's a 100-line lib that fixes that. My agent kept forgetting what it was doing. A scratchpad fixed it. I replaced 200 lines of ad-hoc state management in my Hermes agent with one object. Per-Key Rate Limiting for Agent Tool Calls: Stop One User From Breaking Everything Composable Output Guardrails: Filter Agent Responses Before They Reach Users Sanitize Your LLM Message Lists Before Every API Call Thread a Run ID Through Every Agent Call So You Can Debug Anything Normalize Provider Error JSON So Your Agent Can Actually Handle Failures Priority Queue for Agent Sub-Tasks: Stop Processing Low-Priority Work First Static Lint Rules for Your LLM Prompts (Before They Hit Production) tool-call-budgets: Stop Runaway Agent Loops Before They Hit Your Invoice Step Through Your Agent's Failures Like a Debugger The Simplest Stop Condition: A Hard Cap on Agent Loop Iterations Score Your Agent's Responses With a 0.0-1.0 Rubric (No LLM Judge Required) Fix Bad Structured Output by Feeding the Error Back to the Model Building an effective Storyblok Tool Plugin with SvelteKit How to Get Your Renault / Dacia Radio Code for Free RAG 시스템 실전 구축 (v39) Retraction — scrml’s Living Compiler I built a fitness app where the AI roasts you for eating pizza (and hypes you when you PR) The Top SaaS Founder Communities on Discord (Beyond the AI Hype) I Built a Production-Grade Async Job Queue from Scratch — Here's Everything That Actually Happened How to watch SMS from multiple Android phones in one iOS app We Didn’t Want Another AI Wrapper — So We Explored a High-Speed Hermes Orchestrator for Engineering Crews Multi-tenant além do TenantId: problemas reais e aprendizados em sistemas .NET
Reset Windows Update: The Definitive MSP Guide to RWU
MatBanik · 2026-05-26 · via DEV Community

Published May 22, 2026 on matbanik.info

Manuel Gil's Windows Update reset script crossed half a million downloads before he archived it in March 2023. The Dev-C++ successor — Reset-Windows-Update-Tool, 513 stars on GitHub — followed it into the archive on January 16, 2026. For years, these were the tools sysadmins reached for when Microsoft's troubleshooter shrugged and said "we couldn't identify the problem."

They're gone now. And nothing replaced them.

Search "reset Windows Update" today and you'll find plenty of consumer guides. Screenshots of Settings panels. "Click Troubleshoot, then Additional troubleshooters." The irony: that troubleshooter is itself being deprecated with the MSDT retirement. Microsoft is sunsetting its own fix-it tool.

For MSP technicians managing hundreds of endpoints, the gap is worse. You need something that runs silently through your RMM. Something that won't obliterate the Intune ring configuration your team spent three weeks fine-tuning. Something that produces a structured exit code, not a GUI dialog box nobody's sitting in front of.

That's why I built RWU. It's not another "one weird trick" for Windows Update. It's a 14-step, reviewable, reversible technician workflow with safe defaults, opt-in dangerous operations, CLI exit codes for automation, and diagnostic output structured for AI analysis. Single .cmd file. GPL-3.0. No installer, no telemetry, no persistence.

RWU Reset and Repair Utility for Windows Update terminal interface

The Three Failure Buckets

Most Windows Update guides skip the diagnosis and jump straight to the fix. Stop services, delete SoftwareDistribution, restart, cross your fingers. That works roughly a third of the time. The other two thirds, you've wasted twenty minutes and possibly made things worse.

The problem is that Windows Update failures aren't one problem. They're three.

Windows Update showing Install error 0x800f0922 on two cumulative updates


The screen every sysadmin recognizes — 0x800f0922 on two cumulative updates.

Bucket 1: Local state corruption. The SoftwareDistribution folder is rotted. Catroot2 has hash mismatches. The BITS transfer queue is deadlocked. Classic codes: 0x80070002, 0x80073712. The machine's update pipeline is jammed with its own stale data. A local reset — stop services, rename folders, re-register DLLs — clears this reliably.

Bucket 2: Policy conflicts. This is the one that bites MSPs. A machine that used to point at a WSUS server still has the registry cookie. An Intune-managed device has conflicting Windows Update for Business ring settings layered on top of a leftover Group Policy from when it was domain-joined. The symptoms look identical to Bucket 1. The fix is completely different — and if you apply Bucket 1's fix without clearing the policy state, you'll be back in a week.

Bucket 3: Microsoft broke something. KB5089549 in May 2026 caused 0x800f0922 failures because the cumulative update demanded more EFI partition space than many machines had. KB5082063 in April 2026 crashed LSASS on Domain Controllers running Privileged Access Management, causing an infinite reboot loop that required Microsoft's emergency out-of-band patch KB5091157. No local reset script fixes these. You need the right patch, or you need partition maintenance, or you need to boot into recovery.

The danger of conflating these buckets is real. A "stop all services and delete everything including registry policies" approach fixes Bucket 1. It catastrophically damages Bucket 2 — you just removed a managed device from your update management ring. And it wastes precious time on Bucket 3 while a Domain Controller is boot-looping in your production environment.

RWU's architecture maps to these buckets directly. Bucket 1 repairs are the default. Bucket 2 operations (policy deletion, SDDL reset) require explicit opt-in. Bucket 3 gets diagnosed and flagged as "outside this tool's scope — here's what to investigate next."

The Tool Landscape: Who Does What

Here's the current state of Windows Update repair tooling:

Tool Status Individual Steps Interface AI-Ready Logs? Hash Verify?
RWU Active Yes — 14 steps TUI + CLI (0/1/2) Yes Yes (SHA256)
Microsoft WU Troubleshooter Deprecated with MSDT Partial GUI only No N/A
ManuelGil Reset-Windows-Update-Tool Archived Jan 2026 Yes TUI menu No No
ManuelGil Script-Reset-WU Archived Mar 2023 Yes None No No
ChrisTitusTech/winutil Active No GUI No No
PSWindowsUpdate Active Yes Cmdlet No Module signing

WinUtil deserves a callout. At roughly 55,000 stars, Chris Titus Tech's tool is the most visible open-source Windows utility. It's excellent for debloating and system configuration. But its Updates module only toggles between Default, Security-only, and Disabled update policies. It doesn't repair broken Windows Update components. If someone recommends WinUtil for a 0x80073712 component store corruption, they've confused update settings with update repair.

Manuel Gil's tools were the genuine article. The .bat script was simple and effective — stop services, rename folders, re-register DLLs. Exactly the KB971058 workflow Microsoft used to document. But neither version had RMM exit codes, AI-ready diagnostics, or any separation between safe and dangerous operations. Everything ran in sequence, every time.

What RWU Actually Does

The 14-Step Architecture

RWU's steps cluster into logical phases:

Step 0 — Diagnostics. Before anything changes, RWU captures system state: OS version and build, service status for wuauserv/cryptSvc/bits/msiserver/appidsvc, disk space including EFI partition, the tail of CBS.log (last 100 lines — not the full multi-hundred-megabyte file), and recent Windows Update event log entries. This output is designed for AI analysis.

Steps 1–2 — Stop services. Windows Update, Cryptographic Services, BITS, Windows Installer, Application Identity. RWU waits for clean stops rather than force-killing, which avoids data corruption in the component store.

Steps 3–5 — Clean and rebuild. SoftwareDistribution gets renamed with a timestamp — SoftwareDistribution.bak.20260522-143022 — so running the tool twice doesn't fail on an existing .bak folder. Catroot2 gets the same treatment. Then the core Windows Update DLLs get re-registered: 34 DLLs from atl.dll through wuwebv.dll, covering the full update and cryptographic pipeline.

Steps 6–7 — DANGEROUS (opt-in only). Step 6 exports, then deletes, Windows Update registry policies under HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate. Step 7 resets the BITS and WU service security descriptors to Windows defaults. Both are OFF by default. Both require explicit opt-in — a TUI toggle or CLI flags /policy and /sddl.

Step 8 — System file repair. sfc /scannow followed by DISM /Online /Cleanup-Image /RestoreHealth. The one-two punch for component store corruption. RWU captures the output for diagnostic review.

Steps 9–10 — Network stack. Winsock reset and proxy settings clear. These catch cases where update failures are actually network stack corruption.

Steps 11–14 — Finalize. Restart stopped services, force an update detection cycle, dump the event log, and generate a summary with a structured exit code.

Safe Defaults: Why Steps 6 and 7 Are Locked

This is the architectural decision I care about most.

Step 6 deletes Windows Update registry policies. On a standalone home PC, that's fine. On an Intune-managed device, you've just destroyed the Windows Update for Business ring membership. The device goes from "Pilot ring, 7-day deferral" to "unmanaged, installing whatever Microsoft pushes right now." On a machine still pointing at a WSUS server (yes, WSUS was deprecated in September 2024, but plenty of environments still run it), you've removed the WSUS pointer and the machine starts pulling updates directly from Microsoft CDN.

Step 7 resets service security descriptors. On a locked-down enterprise endpoint where security tooling has intentionally tightened these descriptors, you've just broken that posture.

TroubleChute's update guides reset policies by default. Manuel Gil's tools ran everything in sequence with no concept of step-level opt-in. RWU separates safe operations from destructive ones. The default is safe. The nuclear option is available — but you have to explicitly request it.

Getting Started

One line:

irm matbanik.info/rwu | iex

What happens: the rwu.ps1 launcher downloads from matbanik.info, fetches the latest RWU release from GitHub, verifies the SHA256 hash, extracts Reset_WindowsUpdate.cmd, and runs it with a UAC elevation prompt. If the hash doesn't match, nothing executes.

RWU launcher verifying SHA256 hash alongside the TUI main menu


Left: the launcher verifies SHA256 before execution. Right: the TUI menu with safe defaults — Steps 6/7 toggled OFF.

The trust model: GPL-3.0 source on GitHub. SHA256 verification before execution. Single .cmd file — no installer, no persistence, no telemetry. You can audit every line of code before it touches your endpoint.

Now, the elephant in the room. Microsoft's Security Blog in August 2025 flagged PowerShell's irm and iex cmdlets as "very prolific" within ClickFix social-engineering campaigns. Threat actors trick users into running irm malicious-site.com | iex and the game is over.

RWU's hash verification addresses this directly. The launcher doesn't blindly download-and-execute. It downloads, verifies SHA256 against the published checksum, and only executes on match. A compromised download path produces a hash mismatch and the launcher aborts.

If irm | iex still makes you uncomfortable — reasonable — download directly from GitHub Releases. The .cmd file is right there. Verify the hash yourself.

Error Codes and What They Mean

Windows Update error codes are hexadecimal misery. Here's a mapping of the most common ones to what's actually broken and which RWU steps address them:

Error Code What It Means Root Cause RWU Steps
0x80070002 File/registry key missing SoftwareDistribution corruption Steps 3–5
0x800f0922 CBS staging failure EFI partition space exhaustion (May 2026 KB5089549) Step 0 diagnoses; Steps 3–5 for staging
0x80073712 Component store corrupt Manifest mismatch in WinSxS Step 8 (DISM)
0x800f081f DISM source files missing No repair source available Step 8 with /Source:wim
0x80240069 Reboot pending Prior update requires restart Steps 11–14
0x8024402c Can't reach WU servers Network stack or proxy issue Steps 9–10
0x80244022 Server unavailable Microsoft CDN blocked or down RWU diagnoses; firewall/proxy issue
0x8024401c Connection timeout Proxy or latency issue Steps 9–10; may need firewall rules

The 0x800f0922 code is worth watching. KB5089549 in May 2026 triggered it widely because the cumulative update needed more EFI partition space than many machines had available. Microsoft confirmed machines with 10 MB or less of EFI free space hit a rollback loop at 35% installation. RWU's Step 0 diagnostics will flag low EFI space. It can't resize the partition for you — but at least you'll know you're chasing a hardware constraint, not a software corruption.

RMM Integration: CLI Mode for MSPs

The TUI is useful for interactive troubleshooting. For fleet deployment, you need CLI.

Exit codes:

  • 0 — Success. All steps completed without errors.
  • 1 — Failure. At least one step errored. Check the log.
  • 2 — Usage error. Bad arguments or help requested.

CLI flags:

Flag Action
/diag Diagnostics only (Step 0). No modifications.
/reset Full safe reset (Steps 1–5, 8–14).
/step N Run specific step. Valid: 0, 1-2, 3, 4, 5, 6, 7, 8, 9-10, 11-14.
/policy Enable Step 6 (policy deletion). Explicit opt-in.
/sddl Enable Step 7 (SDDL reset). Explicit opt-in.
/logdir "path" Output logs to a specific directory.

Silent deployment:

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

This runs the safe reset sequence and writes logs to C:\Temp\RWU. The exit code tells your RMM whether it worked.

NinjaRMM integration example:

$logDir = "C:\Temp\RWU"
$result = Start-Process -FilePath "C:\Tools\Reset_WindowsUpdate.cmd" `
  -ArgumentList "/reset /logdir $logDir" -Wait -PassThru

# Copy logs to central share with computer name prefix
$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"
    # Trigger ticket creation
} else {
    Ninja-Property-Set rwuStatus "Usage error"
}

The log collection step grabs every .log file RWU generated, prepends the machine's COMPUTERNAME, and copies it to a central UNC share. After a fleet-wide run, \\SERVER\RWU-Logs contains FRONT-DESK-PC_RWU_20260522.log, DC01_RWU_20260522.log, etc. — all in one place. Replace \\SERVER\RWU-Logs with your own network path.

The same pattern works with Datto, ConnectWise Automate, or any RMM that supports PowerShell scripting and exit code parsing.

The /diag flag is the underrated one. Run it across your fleet before Patch Tuesday. Parse the output. Identify machines with low EFI space, stopped services, or stale policy cookies before you push the cumulative update. Pre-flight diagnostics save more time than post-failure remediation.

RWU running in CLI diagnostic mode showing structured output


RWU /diag mode — diagnostics only, no changes made. The log is ready for AI analysis.

AI-Ready Diagnostics

CBS.log is where Windows Update debugging lives. It's also where debugging careers go to die. The file routinely grows to hundreds of megabytes of granular servicing telemetry. Finding the actual failure in that volume is tedious even for experienced technicians.

RWU's Step 0 captures a structured diagnostic snapshot — the relevant data, pre-parsed for AI consumption:

=== 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]

Copy that into ChatGPT, Claude, or Copilot with this 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>

AI-generated Bottom Line summary from RWU diagnostic log


Paste the RWU log, get a client-ready "Bottom Line" summary — ready for the ticket.

The "Bottom Line" format is the time-saver. You get a client-ready summary you can paste straight into a ticket or email — no translation required. Review for accuracy, send. I've written more about teaching AI your communication patterns and vetting AI outputs for accuracy in related posts.

The key insight: sending a 200 MB CBS.log to an LLM is expensive and usually hits context limits. Sending 100 pre-parsed relevant lines costs almost nothing and gives the AI exactly what it needs.

When RWU Won't Help

Honest limits build more trust than fake confidence. Here's what RWU can't fix:

EFI partition exhaustion. Step 0 diagnoses it. RWU can't resize partitions. You need diskpart or a partition manager to extend the EFI partition, or clean up stale boot entries with bcdboot/bcdedit.

LSASS boot loop on Domain Controllers. April 2026's KB5082063 crashes LSASS before any local tool can run. You need Microsoft's OOB patch KB5091157 applied through recovery environment.

Windows 10 ESU enrollment failures. If Extended Security Update licensing isn't validated, updates fail with licensing errors. That's a licensing issue, not a WU component issue.

Network-level blocks. If your firewall blocks Microsoft CDN endpoints, resetting the local network stack won't help. The stack is fine. The policy is blocking traffic.

Irrecoverable component store damage. If DISM /RestoreHealth fails with "source files could not be found" and you don't have a matching install.wim, you're looking at an in-place upgrade or clean install. RWU tells you DISM failed — it can't conjure missing source files.

What's Next

The RWU source code is on GitHub. GPL-3.0. Star it if it's useful — visibility helps other technicians find the tool. Issues are open for bugs and feature requests.

Manuel Gil's tools served the Windows admin community for years. When they were archived, they left a gap that consumer guides and debloating utilities couldn't fill. RWU picks up where they left off — with the additions that modern MSP workflows demand: exit codes your RMM can parse, safe defaults that won't destroy your managed policies, and diagnostic output designed for the AI-augmented troubleshooting that's becoming the new normal.

The one-liner is irm matbanik.info/rwu | iex. Or download from GitHub. Either way — reviewable, reversible, professional-grade.



Originally published on matbanik.info. Cross-posted with ❤️ to Dev.to.