Problema
En entornos con WSUS (Windows Server Update Services) es frecuente que los clientes aparezcan en la consola con el triángulo amarillo y la leyenda No report generated yet. El cliente logra contactar al servidor, descargar la lista de actualizaciones y devolver un ResultCode = 3, pero nunca envía el informe de estado. En los logs de WindowsUpdate.log aparecen errores como:
wuapicore.dll ProtocolTalker *FAILED* [80072F76]Error 0x80244010 (WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS)
El síntoma típico es que la fase de búsqueda (Search()) funciona, mientras que la fase de reporte se bloquea. El problema afecta a cualquier versión de Windows que use WSUS como fuente de actualizaciones y se manifiesta en la consola del servidor como un cliente “desconectado”.
Causa
El código de error 80244010 indica que el cliente ha superado el número máximo de viajes al servidor durante la operación de escaneo y reporte. Las causas más habituales son:
- Metadatos excesivos – WSUS mantiene miles de actualizaciones obsoletas, superseded o declined. Cada una genera una petición adicional; al superar el límite (≈200 peticiones) el cliente aborta.
- IIS configurado con límites de tiempo o de memoria – Un pool de aplicaciones con timeout bajo o memoria limitada puede cerrar la conexión antes de que el cliente termine de enviar el informe.
- Política de cliente que fuerza un número alto de intentos – Configuraciones de
AUOptionsoDetectionFrequencyque hacen que el cliente intente varios ciclos de detección en un corto período. - Problemas de conectividad intermitente – Fallos DNS o proxies que provocan reintentos automáticos, incrementando el conteo de viajes.
- Versiones de WSUS con bugs conocidos – Algunas versiones de WSUS 3.0/3.2 presentan un manejo ineficiente de superseded updates que inflan la carga de metadatos.
En la práctica, el factor que más dispara el error es la acumulación de actualizaciones superseded/declined en la base de datos de WSUS.
Solución
La estrategia se divide en tres capas: limpieza del servidor, ajustes de IIS y verificación de la configuración del cliente.
1. Limpieza de metadatos en WSUS
Ejecutar el script de mantenimiento integrado elimina actualizaciones obsoletas y reduce el número de peticiones que el cliente necesita procesar.
# PowerShell – ejecutar en el servidor WSUS con privilegios de administrador
Import-Module UpdateServices
$wsus = Get-WsusServer
Invoke-WsusServerCleanup -DeclineSupersededUpdates -DeclineExpiredUpdates -CleanupObsoleteUpdates -CompressUpdates
Opciones útiles:
-CompressUpdatesreduce el tamaño del paquete de metadatos.-CleanupObsoleteUpdatesborra entradas que ya no existen en Microsoft Update.-DeclineSupersededUpdatesevita que los clientes reciban versiones ya reemplazadas.
Después de la limpieza, sincroniza nuevamente el servidor:
$wsus = Get-WsusServer
$wsus.StartSynchronization()
2. Ajustes de IIS / AppPool
-
Pool “WusPool”
- Private Memory Limit: 0 (ilimitado) – ya suele estar así, pero verifica que no haya un límite impuesto por políticas de grupo.
- Idle Time-out: 0 (desactivado) para evitar que el pool se recicle durante una larga transferencia.
- Recycling: desactiva el reciclado programado mientras se realiza la limpieza.
-
Timeout de la aplicación
- En Advanced Settings del pool, aumenta
Connection Timeouta 300 s. - En Web.config de WSUS (
%ProgramFiles%\Update Services\WebServices), verifica que<httpRuntime executionTimeout="300" />esté presente.
- En Advanced Settings del pool, aumenta
-
Compresión
- Habilita la compresión dinámica (
Dynamic Compression) para reducir el tráfico de metadatos.
- Habilita la compresión dinámica (
3. Verificación y ajuste del cliente
- Forzar la re‑autorización
# En el cliente Windows (CMD con privilegios)
net stop wuauserv
net stop bits
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SusClientId" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SusClientIdValidation" /f
net start wuauserv
net start bits
wuauclt /resetauthorization /detectnow
- Comprobar la política de WSUS
# PowerShell
Get-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate" | Select-Object UseWUServer, WUServer, WUStatusServer
Asegúrate de que UseWUServer = 1 y que ambas URLs apunten al mismo host interno.
- Reducir la frecuencia de detección (solo si el entorno permite mayor latencia).
# Política de grupo local o GPO
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "DetectionFrequency" -Value 22
Un intervalo de 22 h reduce la cantidad de viajes simultáneos y evita picos de carga.
Cuándo aplicar esta solución
- Síntomas: cliente aparece con triángulo amarillo, “No report generated yet”,
WindowsUpdate.logmuestra 80244010, y la búsqueda de actualizaciones funciona pero el reporte no. - Entorno: WSUS con varios meses/años de historial, sin mantenimiento regular de la base de datos.
- No aplica: si el cliente nunca llega a contactar al servidor (error 80072F76 sin
ResultCode = 3), el problema suele estar en DNS, firewall o proxy, no en el límite de viajes.
Código
# 1. Limpieza de WSUS
Import-Module UpdateServices
$wsus = Get-WsusServer
Invoke-WsusServerCleanup -DeclineSupersededUpdates -DeclineExpiredUpdates -CleanupObsoleteUpdates -CompressUpdates
# 2. Forzar re‑autorización en el cliente
net stop wuauserv
net stop bits
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SusClientId" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SusClientIdValidation" /f
net start wuauserv
net start bits
wuauclt /resetauthorization /detectnow
Verificación
- WSUS Console – El triángulo amarillo desaparece y la columna Last Report muestra una fecha reciente.
- Cliente – Ejecuta
Get-WindowsUpdateLogy busca la ausencia de80244010. UnResultCode = 2(WU_E_NO_UPDATE) indica que el cliente terminó el ciclo sin errores. - IIS Logs – Verifica que no haya respuestas 500/503 durante la ventana de reporte.
- PowerShell – En el cliente, prueba:
$Searcher = New-Object Microsoft.Update.Searcher
$Result = $Searcher.Search("IsInstalled=0")
$Result.ResultCode # debe ser 2 (no hay actualizaciones pendientes) o 3 (éxito)
Si el ResultCode sigue siendo 3 pero el reporte no llega, revisa nuevamente los límites de tiempo del pool de IIS.
Notas adicionales
- Programa la tarea de WSUS Cleanup mensualmente; la base de datos crece rápidamente con actualizaciones de seguridad de Microsoft.
- En entornos con cientos de clientes, habilita la replicación de WSUS (un servidor de downstream) para distribuir la carga de metadatos.
- Si después de la limpieza persisten los errores, considera habilitar el registro detallado de WSUS (
WsusUtil.exe exportlog) para obtener más pistas sobre peticiones fallidas. - Siempre realiza una copia de seguridad de la base de datos de WSUS (
wsusutil export) antes de ejecutar limpiezas masivas.