Ir al contenido principal

Solución de problemas de Windows Update

Diagnose Windows Update issues in Level, including WUA result discrepancies and leftover WSUS configuration.

Introducción

Level utiliza la API del Agente de Windows Update (WUA) de Microsoft para detectar y gestionar parches. Si observa recuentos de parches inesperados, actualizaciones faltantes o ninguna actualización, las dos causas más comunes son diferencias en los conjuntos de resultados entre WUA y otras fuentes de actualización, y configuraciones residuales de WSUS que redirigen los dispositivos fuera de los servidores de actualización de Microsoft.


Cómo consulta Level las actualizaciones de Windows

Level consulta la API de Microsoft WUA para los parches disponibles e instalados. La API de WUA es la misma que utiliza Windows internamente, pero sus resultados no coinciden con el Historial de Windows Update. No compare ambos directamente — obtienen datos de almacenes de datos distintos.

Para ver exactamente lo que devuelve la API de WUA para un dispositivo determinado, ejecute estos comandos en PowerShell.

Parches instalados:

$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$Searcher.Search("IsInstalled=1").Updates | ft -a title

Parches pendientes:

$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher() $Searcher.Search("IsInstalled=0").Updates | ft -a title

Si la lista de parches de Level coincide con lo que devuelven estos comandos, Level está funcionando correctamente. Cualquier discrepancia reside en la propia capa de WUA.


Cuando una actualización se reporta como instalada pero vuelve a aparecer

Cuando utiliza la acción Instalar actualizaciones de Windows acción, Level actualiza la lista de actualizaciones del dispositivo tras la instalación y verifica que las actualizaciones esperadas permanecen instaladas. Para una instalación que no reinicia el dispositivo, la acción espera aproximadamente 10 minutos antes de la verificación.

Si una actualización esperada se ofrece nuevamente o ya no se reporta como instalada tras la verificación, Level informa Algunas actualizaciones no se instalaron correctamente. Esto indica que la actualización puede haberse revertido después de reportar éxito por primera vez. La acción también envía el estado de actualización actualizado a Level para que la vista de Actualizaciones pueda reflejar lo que el dispositivo reporta actualmente.

Si Windows todavía requiere un reinicio y Reiniciar tras las actualizaciones está desactivado, el estado de reinicio pendiente puede enmascarar el estado de instalación final. Level espera el reinicio en lugar de tratar ese estado como una reversión.


Diagnóstico de problemas relacionados con WSUS

Si Level no muestra actualizaciones disponibles y los comandos de WUA anteriores tampoco devuelven nada, la causa probable es una configuración residual de WSUS. Los dispositivos que siguen apuntando a un servidor WSUS no consultarán los servidores de actualización de Microsoft, por lo que Level no tiene nada que reportar.

Verificar la configuración de WSUS

Ejecute esto en PowerShell para inspeccionar la clave de registro de Windows Update:

Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"

Si el resultado incluye referencias a una dirección de servidor WSUS, el dispositivo no ha sido reconfigurado.

Eliminar la configuración de WSUS

La solución correcta es revertir el Objeto de Directiva de Grupo que originalmente distribuyó WSUS a los dispositivos. Si esto no es posible, el siguiente script elimina manualmente la configuración del cliente WSUS:

⚠️ ADVERTENCIA: Pruebe en un único dispositivo antes de implementarlo en producción. Si el GPO que configuró WSUS sigue activo, la configuración volverá en la próxima actualización de directivas. Eliminar el GPO es la única solución permanente.

PowerShell

# Stop the BITS and Windows Update services
Stop-Service -Name BITS, wuauserv -Force

# Remove WSUS client configuration properties
$wsusProperties = @("AccountDomainSid", "PingID", "SusClientId", "SusClientIDValidation")
foreach ($property in $wsusProperties) {
Remove-ItemProperty -Name $property -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\" -ErrorAction SilentlyContinue
}

# Remove the SoftwareDistribution folder
Remove-Item "$env:SystemRoot\SoftwareDistribution\" -Recurse -Force -ErrorAction SilentlyContinue

# Start the BITS and Windows Update services
Start-Service -Name BITS, wuauserv

# Optionally, reset the Windows Update client settings
# This step ensures that the client re-registers and checks for updates from the correct source
$wuaucltPath = "$env:SystemRoot\System32\wuauclt.exe"
if (Test-Path -Path $wuaucltPath) {
Start-Process -FilePath $wuaucltPath -ArgumentList "/resetauthorization /detectnow" -NoNewWindow
} else {
Write-Output "wuauclt.exe not found. Ensure the Windows Update client is available."
}

Tras la ejecución, Level vuelve a consultar WUA en la próxima sincronización. En ese momento deberían aparecer las actualizaciones de los servidores de Microsoft.

💡 CONSEJO: Guarde esto como un script en la biblioteca de scripts de Level para implementarlo mediante automatización en varios dispositivos a la vez, en lugar de ejecutarlo manualmente.


Preguntas frecuentes

  • Level muestra actualizaciones, pero el Historial de Windows Update dice que ya están instaladas. ¿Quién tiene razón? Ambos pueden ser correctos. Level consulta directamente la API de WUA; el Historial de Windows Update lee desde un registro separado. Los comandos de PowerShell de WUA mencionados anteriormente son la fuente de verdad de lo que ve Level. Si esos comandos devuelven los mismos parches que Level está mostrando, Level funciona correctamente.

  • El script de limpieza de WSUS se ejecutó, pero los dispositivos siguen apuntando a WSUS. La Directiva de Grupo que configuró WSUS probablemente sigue activa. El script elimina los valores de registro actuales, pero la directiva los vuelve a aplicar en la próxima actualización. Revierta o deshabilite primero el GPO.

  • Tras eliminar la configuración de WSUS, ¿cuánto tiempo tarda Level en mostrar las actualizaciones? Level vuelve a consultar WUA en el siguiente ciclo de verificación del dispositivo. En la mayoría de los casos, los datos de parches actualizados aparecen en pocos minutos tras la reconexión del dispositivo o el sondeo del agente.

  • Una actualización se reportó como instalada, pero volvió a aparecer. ¿Qué debo comprobar? Si la actualización se instaló a través de la acción Instalar actualizaciones de Windows acción, Level ahora realiza una verificación posterior a la instalación, incluso después de que una instalación sin reinicio haya tenido tiempo de estabilizarse. Revise el resultado de la acción para ver Algunas actualizaciones no se instalaron correctamente y confirme si Windows todavía requiere un reinicio. Un reinicio pendiente puede impedir la verificación final hasta que el dispositivo se reinicie.

  • ¿Puedo ejecutar el script de limpieza de WSUS en todos los dispositivos afectados a la vez? Sí. Guárdelo como un script en Automatizaciones → Scripts, luego ejecútelo mediante una automatización dirigida a los dispositivos relevantes o mediante una ejecución ad hoc desde el listado de dispositivos.

¿Ha quedado contestada tu pregunta?