← Volver a Sistemas

Reset Windows Update: La Guía Definitiva de RWU para MSPs

windows-updatemsp-toolsrmm-automationdiagnosticspowershell

El script de reseteo de Windows Update de Manuel Gil superó el medio millón de descargas antes de que lo archivara en marzo de 2023. El sucesor en Dev-C++ — Reset-Windows-Update-Tool, 513 estrellas en GitHub — siguió el mismo camino al archivo el 16 de enero de 2026. Durante años, estas fueron las herramientas a las que recurrían los sysadmins cuando el solucionador de problemas de Microsoft se encogía de hombros y decía “no pudimos identificar el problema.”

Se fueron. Y nada los reemplazó.

Busca “reset Windows Update” hoy y encontrarás montones de guías para consumidores. Capturas de pantalla de paneles de Configuración. “Haz clic en Solucionar problemas, luego en Solucionadores adicionales.” La ironía: ese solucionador de problemas está siendo descontinuado con la retirada de MSDT. Microsoft está retirando su propia herramienta de reparación.

Para técnicos MSP que gestionan cientos de endpoints, la brecha es peor. Necesitas algo que se ejecute silenciosamente a través de tu RMM. Algo que no destruya la configuración de anillo de Intune que tu equipo tardó tres semanas en afinar. Algo que produzca un código de salida estructurado, no un cuadro de diálogo GUI frente al que nadie está sentado.

Por eso construí RWU. No es otro “truco mágico” para Windows Update. Es un flujo de trabajo técnico de 14 pasos, revisable y reversible, con valores predeterminados seguros, operaciones peligrosas opcionales, códigos de salida CLI para automatización y salida de diagnóstico estructurada para análisis con IA. Un solo archivo .cmd. GPL-3.0. Sin instalador, sin telemetría, sin persistencia.

Interfaz de terminal de RWU Reset and Repair Utility para Windows Update

Los Tres Cubos de Fallos

La mayoría de las guías de Windows Update se saltan el diagnóstico y van directo a la solución. Detener servicios, borrar SoftwareDistribution, reiniciar, cruzar los dedos. Eso funciona más o menos un tercio de las veces. Los otros dos tercios, perdiste veinte minutos y posiblemente empeoraste las cosas.

El problema es que los fallos de Windows Update no son un solo problema. Son tres.

Windows Update mostrando error de instalación 0x800f0922 en dos actualizaciones acumulativas
La pantalla que todo sysadmin reconoce — 0x800f0922 en dos actualizaciones acumulativas.

Cubo 1: Corrupción del estado local. La carpeta SoftwareDistribution está podrida. Catroot2 tiene discrepancias de hash. La cola de transferencia de BITS está bloqueada. Códigos clásicos: 0x80070002, 0x80073712. El pipeline de actualización de la máquina está atascado con sus propios datos obsoletos. Un reseteo local — detener servicios, renombrar carpetas, re-registrar DLLs — limpia esto de forma fiable.

Cubo 2: Conflictos de políticas. Este es el que muerde a los MSPs. Una máquina que antes apuntaba a un servidor WSUS todavía tiene la cookie del registro. Un dispositivo gestionado por Intune tiene configuraciones conflictivas de anillo de Windows Update for Business superpuestas a una Group Policy residual de cuando estaba unido al dominio. Los síntomas son idénticos a los del Cubo 1. La solución es completamente diferente — y si aplicas la solución del Cubo 1 sin limpiar el estado de las políticas, estarás de vuelta en una semana.

Cubo 3: Microsoft rompió algo. KB5089549 en mayo de 2026 causó fallos 0x800f0922 porque la actualización acumulativa demandaba más espacio en la partición EFI del que muchas máquinas tenían. KB5082063 en abril de 2026 hizo crashear LSASS en Domain Controllers con Privileged Access Management, causando un bucle de reinicio infinito que requirió el parche de emergencia fuera de banda de Microsoft KB5091157. Ningún script de reseteo local arregla esto. Necesitas el parche correcto, o mantenimiento de particiones, o arrancar en recuperación.

El peligro de confundir estos cubos es real. Un enfoque de “detener todos los servicios y borrar todo incluyendo políticas del registro” arregla el Cubo 1. Daña catastróficamente el Cubo 2 — acabas de sacar un dispositivo gestionado de tu anillo de gestión de actualizaciones. Y desperdicia tiempo precioso en el Cubo 3 mientras un Domain Controller está en bucle de reinicio en tu entorno de producción.

La arquitectura de RWU mapea directamente a estos cubos. Las reparaciones del Cubo 1 son el comportamiento predeterminado. Las operaciones del Cubo 2 (eliminación de políticas, reseteo de SDDL) requieren activación explícita. El Cubo 3 se diagnostica y se marca como “fuera del alcance de esta herramienta — esto es lo que hay que investigar.”

El Panorama de Herramientas: Quién Hace Qué

Aquí está el estado actual de las herramientas de reparación de Windows Update:

HerramientaEstadoPasos IndividualesInterfaz¿Logs para IA?¿Verificación Hash?
RWUActivoSí — 14 pasosTUI + CLI (0/1/2)Sí (SHA256)
Microsoft WU TroubleshooterDescontinuado con MSDTParcialSolo GUINoN/A
ManuelGil Reset-Windows-Update-ToolArchivado ene 2026Menú TUINoNo
ManuelGil Script-Reset-WUArchivado mar 2023NingunaNoNo
ChrisTitusTech/winutilActivoNoGUINoNo
PSWindowsUpdateActivoCmdletNoFirma del módulo

WinUtil merece una mención. Con aproximadamente 55,000 estrellas, la herramienta de Chris Titus Tech es la utilidad de código abierto para Windows más visible. Es excelente para limpiar bloatware y configuración del sistema. Pero su módulo de Updates solo alterna entre políticas de actualización Default, Security-only y Disabled. No repara componentes rotos de Windows Update. Si alguien recomienda WinUtil para una corrupción del almacén de componentes 0x80073712, están confundiendo configuración de actualizaciones con reparación de actualizaciones.

Las herramientas de Manuel Gil eran las auténticas. El script .bat era simple y efectivo — detener servicios, renombrar carpetas, re-registrar DLLs. Exactamente el flujo de trabajo KB971058 que Microsoft solía documentar. Pero ninguna versión tenía códigos de salida para RMM, diagnósticos para IA, ni separación entre operaciones seguras y peligrosas. Todo se ejecutaba en secuencia, cada vez.

Qué Hace RWU Realmente

La Arquitectura de 14 Pasos

Los pasos de RWU se agrupan en fases lógicas:

Paso 0 — Diagnósticos. Antes de que cambie nada, RWU captura el estado del sistema: versión y build del SO, estado de servicios para wuauserv/cryptSvc/bits/msiserver/appidsvc, espacio en disco incluyendo la partición EFI, las últimas 100 líneas de CBS.log (no el archivo completo de cientos de megabytes), y entradas recientes del log de eventos de Windows Update. Esta salida está diseñada para análisis con IA.

Pasos 1–2 — Detener servicios. Windows Update, Cryptographic Services, BITS, Windows Installer, Application Identity. RWU espera paradas limpias en lugar de forzar la terminación, lo que evita corrupción de datos en el almacén de componentes.

Pasos 3–5 — Limpiar y reconstruir. SoftwareDistribution se renombra con marca de tiempo — SoftwareDistribution.bak.20260522-143022 — para que ejecutar la herramienta dos veces no falle por una carpeta .bak existente. Catroot2 recibe el mismo tratamiento. Luego las DLLs principales de Windows Update se re-registran: 34 DLLs desde atl.dll hasta wuwebv.dll, cubriendo todo el pipeline de actualización y criptografía.

Pasos 6–7 — PELIGROSOS (solo con activación explícita). El Paso 6 exporta y luego elimina las políticas del registro de Windows Update en HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate. El Paso 7 resetea los descriptores de seguridad de los servicios BITS y WU a los valores predeterminados de Windows. Ambos están DESACTIVADOS por defecto. Ambos requieren activación explícita — un toggle en el TUI o flags en CLI /policy y /sddl.

Paso 8 — Reparación de archivos del sistema. sfc /scannow seguido de DISM /Online /Cleanup-Image /RestoreHealth. El golpe uno-dos para la corrupción del almacén de componentes. RWU captura la salida para revisión diagnóstica.

Pasos 9–10 — Stack de red. Reseteo de Winsock y limpieza de configuración de proxy. Estos detectan casos donde los fallos de actualización son en realidad corrupción del stack de red.

Pasos 11–14 — Finalización. Reiniciar los servicios detenidos, forzar un ciclo de detección de actualizaciones, volcar el log de eventos y generar un resumen con un código de salida estructurado.

Valores Predeterminados Seguros: Por Qué los Pasos 6 y 7 Están Bloqueados

Esta es la decisión arquitectónica que más me importa.

El Paso 6 elimina políticas del registro de Windows Update. En un PC doméstico independiente, está bien. En un dispositivo gestionado por Intune, acabas de destruir la membresía del anillo de Windows Update for Business. El dispositivo pasa de “anillo Piloto, diferimiento de 7 días” a “no gestionado, instalando lo que Microsoft empuje ahora mismo.” En una máquina que todavía apunta a un servidor WSUS (sí, WSUS fue descontinuado en septiembre de 2024, pero muchos entornos todavía lo usan), acabas de eliminar el puntero WSUS y la máquina empieza a descargar actualizaciones directamente del CDN de Microsoft.

El Paso 7 resetea los descriptores de seguridad de los servicios. En un endpoint empresarial bloqueado donde las herramientas de seguridad han endurecido intencionalmente estos descriptores, acabas de romper esa postura.

Las guías de actualización de TroubleChute resetean políticas por defecto. Las herramientas de Manuel Gil ejecutaban todo en secuencia sin concepto de activación paso a paso. RWU separa las operaciones seguras de las destructivas. El valor predeterminado es seguro. La opción nuclear está disponible — pero tienes que solicitarla explícitamente.

Cómo Empezar

Una línea:

irm matbanik.info/rwu | iex

Lo que pasa: el lanzador rwu.ps1 se descarga desde matbanik.info, obtiene la última versión de RWU de GitHub, verifica el hash SHA256, extrae Reset_WindowsUpdate.cmd y lo ejecuta con un prompt de elevación UAC. Si el hash no coincide, nada se ejecuta.

Lanzador de RWU verificando hash SHA256 junto al menú principal del TUI
Izquierda: el lanzador verifica SHA256 antes de la ejecución. Derecha: el menú TUI con valores predeterminados seguros — Pasos 6/7 desactivados.

El modelo de confianza: código fuente GPL-3.0 en GitHub. Verificación SHA256 antes de la ejecución. Un solo archivo .cmd — sin instalador, sin persistencia, sin telemetría. Puedes auditar cada línea de código antes de que toque tu endpoint.

Ahora, el elefante en la habitación. El Blog de Seguridad de Microsoft en agosto de 2025 señaló los cmdlets irm e iex de PowerShell como “muy prolíficos” en campañas de ingeniería social ClickFix. Los actores de amenaza engañan a los usuarios para ejecutar irm sitio-malicioso.com | iex y el juego termina.

La verificación de hash de RWU aborda esto directamente. El lanzador no descarga-y-ejecuta ciegamente. Descarga, verifica SHA256 contra la suma de verificación publicada y solo ejecuta si coincide. Una ruta de descarga comprometida produce una discrepancia de hash y el lanzador aborta.

Si irm | iex todavía te incomoda — razonable — descarga directamente de GitHub Releases. El archivo .cmd está ahí mismo. Verifica el hash tú mismo.

Códigos de Error y Lo Que Significan

Los códigos de error de Windows Update son miseria hexadecimal. Aquí hay un mapeo de los más comunes a lo que realmente está roto y qué pasos de RWU los abordan:

Código de ErrorQué SignificaCausa RaízPasos RWU
0x80070002Archivo/clave de registro faltanteCorrupción de SoftwareDistributionPasos 3–5
0x800f0922Fallo de staging de CBSAgotamiento de espacio en partición EFI (mayo 2026 KB5089549)Paso 0 diagnostica; Pasos 3–5 para staging
0x80073712Almacén de componentes corruptoDiscrepancia de manifiestos en WinSxSPaso 8 (DISM)
0x800f081fArchivos fuente de DISM faltantesSin fuente de reparación disponiblePaso 8 con /Source:wim
0x80240069Reinicio pendienteActualización previa requiere reinicioPasos 11–14
0x8024402cNo se puede conectar a servidores WUProblema con stack de red o proxyPasos 9–10
0x80244022Servidor no disponibleCDN de Microsoft bloqueado o caídoRWU diagnostica; problema de firewall/proxy
0x8024401cTimeout de conexiónProblema de proxy o latenciaPasos 9–10; puede necesitar reglas de firewall

El código 0x800f0922 merece atención. KB5089549 en mayo de 2026 lo disparó ampliamente porque la actualización acumulativa necesitaba más espacio en la partición EFI del que muchas máquinas tenían disponible. Microsoft confirmó que las máquinas con 10 MB o menos de espacio libre en EFI entraban en un bucle de rollback al 35% de la instalación. Los diagnósticos del Paso 0 de RWU marcarán el espacio bajo en EFI. No puede redimensionar la partición por ti — pero al menos sabrás que estás persiguiendo una restricción de hardware, no una corrupción de software.

Integración con RMM: Modo CLI para MSPs

El TUI es útil para resolución de problemas interactiva. Para despliegue en flotas, necesitas CLI.

Códigos de salida:

  • 0 — Éxito. Todos los pasos completados sin errores.
  • 1 — Fallo. Al menos un paso tuvo errores. Revisa el log.
  • 2 — Error de uso. Argumentos incorrectos o ayuda solicitada.

Flags CLI:

FlagAcción
/diagSolo diagnósticos (Paso 0). Sin modificaciones.
/resetReseteo seguro completo (Pasos 1–5, 8–14).
/step NEjecutar paso específico. Válidos: 0, 1-2, 3, 4, 5, 6, 7, 8, 9-10, 11-14.
/policyActivar Paso 6 (eliminación de políticas). Activación explícita.
/sddlActivar Paso 7 (reseteo de SDDL). Activación explícita.
/logdir "ruta"Guardar logs en un directorio específico.

Despliegue silencioso:

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

Esto ejecuta la secuencia de reseteo seguro y escribe logs en C:\Temp\RWU. El código de salida le dice a tu RMM si funcionó.

Ejemplo de integración con NinjaRMM:

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

# Copiar logs a recurso compartido central con prefijo de nombre de equipo
$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"
    # Crear ticket
} else {
    Ninja-Property-Set rwuStatus "Usage error"
}

El paso de recolección de logs toma cada archivo .log que generó RWU, antepone el COMPUTERNAME de la máquina y lo copia a un recurso compartido UNC central. Después de una ejecución a nivel de flota, \\SERVER\RWU-Logs contiene FRONT-DESK-PC_RWU_20260522.log, DC01_RWU_20260522.log, etc. — todo en un solo lugar. Reemplaza \\SERVER\RWU-Logs con tu propia ruta de red.

El mismo patrón funciona con Datto, ConnectWise Automate o cualquier RMM que soporte scripting PowerShell y análisis de códigos de salida.

El flag /diag es el infravalorado. Ejecútalo en toda tu flota antes del Patch Tuesday. Analiza la salida. Identifica máquinas con poco espacio EFI, servicios detenidos o cookies de políticas obsoletas antes de empujar la actualización acumulativa. Los diagnósticos de pre-vuelo ahorran más tiempo que la remediación post-fallo.

RWU ejecutándose en modo diagnóstico CLI mostrando salida estructurada
Modo /diag de RWU — solo diagnósticos, sin cambios realizados. El log está listo para análisis con IA.

Diagnósticos Listos para IA

CBS.log es donde vive la depuración de Windows Update. También es donde las carreras de depuración van a morir. El archivo crece rutinariamente a cientos de megabytes de telemetría granular de servicing. Encontrar el fallo real en ese volumen es tedioso incluso para técnicos experimentados.

El Paso 0 de RWU captura una instantánea diagnóstica estructurada — los datos relevantes, pre-procesados para consumo de 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]

Copia eso en ChatGPT, Claude o Copilot con este 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>
Resumen Bottom Line generado por IA a partir del log diagnóstico de RWU
Pega el log de RWU, obtén un resumen "Bottom Line" listo para el cliente — directo al ticket.

El formato “Bottom Line” es el ahorro de tiempo. Obtienes un resumen listo para el cliente que puedes pegar directamente en un ticket o email — sin traducción necesaria. Revisa la precisión, envía. He escrito más sobre enseñar a la IA tus patrones de comunicación y evaluar las salidas de IA para precisión en posts relacionados.

La clave: enviar un CBS.log de 200 MB a un LLM es caro y generalmente supera los límites de contexto. Enviar 100 líneas relevantes pre-procesadas no cuesta casi nada y le da a la IA exactamente lo que necesita.

Cuándo RWU No Ayudará

Los límites honestos generan más confianza que la confianza falsa. Esto es lo que RWU no puede arreglar:

Agotamiento de la partición EFI. El Paso 0 lo diagnostica. RWU no puede redimensionar particiones. Necesitas diskpart o un gestor de particiones para extender la partición EFI, o limpiar entradas de arranque obsoletas con bcdboot/bcdedit.

Bucle de reinicio de LSASS en Domain Controllers. El KB5082063 de abril de 2026 hace crashear LSASS antes de que cualquier herramienta local pueda ejecutarse. Necesitas el parche fuera de banda de Microsoft KB5091157 aplicado a través del entorno de recuperación.

Fallos de inscripción en ESU de Windows 10. Si las licencias de Extended Security Update no están validadas, las actualizaciones fallan con errores de licencia. Eso es un problema de licencias, no de componentes de WU.

Bloqueos a nivel de red. Si tu firewall bloquea los endpoints del CDN de Microsoft, resetear el stack de red local no ayudará. El stack está bien. La política está bloqueando el tráfico.

Daño irrecuperable al almacén de componentes. Si DISM /RestoreHealth falla con “no se encontraron los archivos fuente” y no tienes un install.wim compatible, estás ante una actualización in-place o una instalación limpia. RWU te dice que DISM falló — no puede conjurar archivos fuente faltantes.

Qué Viene

El código fuente de RWU está en GitHub. GPL-3.0. Dale una estrella si te es útil — la visibilidad ayuda a que otros técnicos encuentren la herramienta. Los Issues están abiertos para bugs y solicitudes de funcionalidades.

Las herramientas de Manuel Gil sirvieron a la comunidad de administradores de Windows durante años. Cuando fueron archivadas, dejaron un vacío que las guías de consumo y las utilidades de limpieza de bloatware no pudieron llenar. RWU retoma donde las dejaron — con las adiciones que los flujos de trabajo modernos de MSP demandan: códigos de salida que tu RMM puede analizar, valores predeterminados seguros que no destruirán tus políticas gestionadas, y salida diagnóstica diseñada para la resolución de problemas aumentada por IA que se está convirtiendo en la nueva normalidad.

La línea de comando es irm matbanik.info/rwu | iex. O descarga desde GitHub. De cualquier forma — revisable, reversible, de grado profesional.


Recursos