Solución al error “Unexpected end of file” al importar actualizaciones offline en WSUS 2022

Durante las importaciones offline de actualizaciones en Windows Server 2022, muchos administradores se topan con el temido mensaje “Fatal error: Unexpected end of file”. Este artículo profundiza en las causas, ofrece un procedimiento de diagnóstico paso a paso y aporta buenas prácticas para evitar que el problema vuelva a aparecer.

Índice

Comprender la raíz del problema

wsusutil.exe import lee un archivo XML encapsulado dentro de un .cab. Si la exportación está incompleta, dañada o generada con una versión distinta de WSUS, el analizador XML deja de recibir datos antes de cerrar las etiquetas internas (<metadata>, <update>, <updates>, <ExportPackage>), arrojando el error de fin de archivo inesperado. El proceso suele interrumpirse a los 7‑15 minutos porque es entonces cuando el motor verifica la estructura global y detecta la incongruencia.

Diagnóstico detallado

Verificar la integridad del archivo exportado

1. Cree un nuevo export en el servidor origen para descartar corrupción:

wsusutil.exe export wsus22export.cab wsus22export.log

2. Copie el archivo al servidor destino y compare su tamaño con el original; si la infraestructura lo permite, use SHA‑256:

Get-FileHash .\wsus22export.cab -Algorithm SHA256

3. Abra el .cab con una herramienta de archivado; si muestra archivos extraños, o no puede abrirse, vuelva a exportar.

Comprobar espacio en disco y permisos

  • Revise la unidad que aloja la base de datos de WSUS; durante una importación grande se necesitan de 5 % a 15 % adicionales sobre el tamaño total del catálogo.
  • Asegúrese de ejecutar la importación con una cuenta que sea miembro de los grupos WSUS Administrators y Local Administrators. La pérdida de permisos de escritura también corta el flujo y provoca terminaciones anticipadas.

Garantizar la coincidencia de versiones

WSUS no es retrocompatible en todas las compilaciones. Si se exporta con una versión posterior y se importa en otra más antigua (o se aplican hotfixes diferentes), surgen diferencias de esquema XML. Ejecute lo siguiente en ambos servidores:

wusautil.exe version

Asegúrese de que la compilación y los build numbers coincidan antes de repetir la importación.

Validar y reparar la base de datos

Antes de una nueva prueba:

wsusutil.exe checkhealth

Corrija cualquier advertencia relativa a la metadata. Tras un fallo, ejecute wsusutil.exe reset; este comando fuerza que WSUS vuelva a indexar los binarios descargados y repare referencias huérfanas. Puede tardar varias horas, pero deja la base consistente.

Importar en partes cuando el catálogo es enorme

Si el export supera 20‑30 GB, divídalo por familias (Windows 10, Windows Server 2019, Office, etc.). Ejemplo:

wsusutil.exe export win10.cab win10.log "Windows 10"  
wsusutil.exe export wsus2019.cab wsus2019.log "Windows Server 2019"

Cargue cada paquete por separado. El lote problemático se identificará rápidamente y podrá regenerarse sin rehacer todo el proceso.

Analizar los registros exhaustivamente

LogRuta por defectoQué buscar
softwaredistribution.log%ProgramFiles%\Update Services\LogFilesLínea con la última UpdateId antes del corte
import.logCarpeta usada para la importaciónStack trace exacto del parser XML
eventvwr.msc ⇒ AplicaciónVisor de sucesosErrores .NET o errores de SQL Server

Una vez identificado el ID de actualización que provoca el fallo, exclúyalo temporalmente recreando un export que contenga el resto del catálogo.

Buenas prácticas para entornos productivos

Almacenes de contenido en volúmenes dedicados

El contenido de WSUS suele inflarse con rapidez. Coloque la carpeta WsusContent en un volumen aparte, preferentemente con almacenamiento SSD o NVMe para reducir los tiempos de I/O durante la importación.

Automatizar la verificación previa y posterior

Puede orquestarse un script de PowerShell que ejecute:

  1. wsusutil.exe checkhealth
  2. Comparación de hashes del archivo .cab
  3. Conteo de actualizaciones antes y después de la importación: $pre = (Invoke-WsusServerCleanup -Decrypt).UpdatesDeclined

Con ello se obtiene un resumen operativo y se minimizan sorpresas en ventanas de mantenimiento estrechas.

Mantener la base de datos con índices actualizados

WSUS utiliza SQL Server (Windows Internal Database o instancia dedicada). Ejecute el plan de mantenimiento semanal recomendado por Microsoft, que reindexa tablas tales como tbXml y tbRevision; un índice fragmentado retrasa la escritura de los registros de importación.

Monitoreo proactivo

Incorpore contadores de rendimiento (CPU, disco, cola de I/O) y alertas de espacio libre en su solución de monitoreo. Detectar picos durante la importación es clave para dimensionar futuros crecimientos.

Estrategia de escalación

Cuando el error persista después de completar todos los pasos:

  • Reúna wsusutil.exe export.logimport.log y detalles de versión.
  • Adjúntelos al abrir un hilo en Microsoft Q&A ⇒ etiqueta WSUS. Los ingenieros del producto solicitan esta información de entrada para reproducir el problema.
  • Si se dispone de soporte Premier/Unified, inicie un ticket y especifique que el error se reproduce con un archivo exportado limpio.

El tiempo de resolución se reduce drásticamente cuando la información inicial incluye el análisis de logs y los pasos de mitigación ya intentados.

Resumen de acciones rápidas

  1. Regenerar el archivo de exportación y comprobar hash.
  2. Asegurar espacio libre > 15 % y permisos adecuados.
  3. Validar versiones de WSUS en origen y destino.
  4. Ejecutar checkhealth y, si falla, reset.
  5. Dividir importaciones muy grandes para aislar segmentos corruptos.
  6. Extraer la UpdateId culpable del log y omitirla temporalmente.
  7. Escalar a Microsoft con todos los datos de contexto.

Conclusión

El mensaje “Unexpected end of file” suele ser síntoma de corrupción de la exportación o de inconsistencias en la base de datos de WSUS. Aplicando una comprobación básica de integridad, asegurando la igualdad de versiones y utilizando comandos de mantenimiento integrados, la mayoría de las organizaciones logran reanudar la importación offline sin pérdidas de tiempo significativas. La clave reside en anticiparse: supervisar el crecimiento del catálogo, programar limpiezas periódicas y validar la salud de WSUS antes de cualquier operación que implique grandes volúmenes de metadatos.

Índice