Problema

En entornos mixtos es frecuente migrar los servidores de un WSUS interno a soluciones basadas en la nube (Intune, Azure Update Manager). La migración suele implicar cambios en GPOs y en la configuración del agente de Windows Update. Cuando el proceso queda incompleto, los servidores continúan intentando contactar al WSUS eliminado: aparecen errores de conexión en los logs, los clientes no reciben actualizaciones de la nueva fuente y el tráfico de red sigue dirigido a una dirección que ya no existe. El síntoma más visible es la presencia de la clave WSUSServer en el registro del equipo o la aparición de eventos “Windows Update client was unable to download the update”.

Causa

  1. Política de Grupo persistente – Un GPO que establece Set the intranet Microsoft update service location escribe los valores WUServer y WUStatusServer en HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate. El cliente no borra esos valores cuando el GPO se elimina; solo los sobrescribe si una política posterior los cambia a “Not Configured”.

  2. Orden de procesamiento – Si varios GPOs afectan a Windows Update, el último que se aplica gana. Un GPO heredado de una OU superior puede seguir imponiendo la configuración aunque se elimine el GPO “Server Policy - Windows Update” de la OU actual.

  3. Caché de políticas – Los clientes mantienen una copia en C:\Windows\System32\GroupPolicy\Machine\Registry.pol. Hasta que se ejecuta gpupdate /force o se reinicia el equipo, siguen usando los valores antiguos.

  4. Dependencia de scripts de arranque – Algunos entornos añaden la configuración de WSUS mediante scripts de inicio que vuelven a escribir los valores después de cada arranque.

  5. Falta de desactivación de la característica “Windows Server Update Services” – En servidores que todavía tienen el rol WSUS instalado, el servicio sigue escuchando en el puerto 8530/80 y responde a peticiones locales, lo que genera confusión.

Solución

1. Identificar la política activa

gpresult /h gpresult.html

Revisa la sección Computer Settings → Administrative Templates → Windows Components → Windows Update y verifica si alguna política está marcada como “Enabled”.

2. Neutralizar la configuración de WSUS

  • Opción A – Desactivar en el GPO
    Abre la consola de GPMC, edita el GPO que contiene la política y cambia la opción Set the intranet Microsoft update service location a Not Configured. No es necesario eliminar el GPO; solo dejar la política sin configuración evita que vuelva a escribir los valores.

  • Opción B – Forzar la eliminación mediante registro
    Si prefieres limpiar inmediatamente los valores, ejecuta el script siguiente en cada servidor (o mediante un job de PowerShell Remoting):

powershell -Command "& {
  $regPath = 'HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate'
  if (Test-Path $regPath) {
    Remove-ItemProperty -Path $regPath -Name 'WUServer' -ErrorAction SilentlyContinue
    Remove-ItemProperty -Path $regPath -Name 'WUStatusServer' -ErrorAction SilentlyContinue
  }
  $auPath = 'HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU'
  if (Test-Path $auPath) {
    Remove-ItemProperty -Path $auPath -Name 'UseWUServer' -ErrorAction SilentlyContinue
  }
}"

3. Aplicar la nueva política

gpupdate /force

Esto actualiza la caché de políticas y elimina los valores obsoletos del registro si la política está en Not Configured.

4. Verificar que el cliente ya no apunta a WSUS

reg query "HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate" /v WUServer

La salida debe indicar que la clave no existe. Repite la comprobación en la subclave AU para UseWUServer.

5. Habilitar la fuente de actualización deseada

  • Intune – Asegúrate de que el dispositivo está inscrito y que la política Windows Update for Business está asignada.
  • Azure Update Manager – Instala o actualiza el Azure VM Agent y verifica que la extensión Update Management está habilitada.

6. (Opcional) Desactivar el rol WSUS en el servidor

Uninstall-WindowsFeature -Name UpdateServices

Elimina cualquier resto del servicio que pudiera responder a peticiones locales.

Cuándo aplicar esta solución

  • Los servidores siguen enviando tráfico a la dirección del WSUS después de migrar a Intune o Azure Update Manager.
  • Los logs de Windows Update muestran errores de conexión a un servidor que ya no está operativo.
  • Se planea retirar el servidor WSUS de la red y se necesita evitar dependencias ocultas.

No es necesario aplicar estos pasos si la política de WSUS nunca se aplicó a los servidores (por ejemplo, si los equipos están en una OU sin esa GPO desde el inicio).

Código

powershell -Command "& {
  $regPath = 'HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate'
  if (Test-Path $regPath) {
    Remove-ItemProperty -Path $regPath -Name 'WUServer' -ErrorAction SilentlyContinue
    Remove-ItemProperty -Path $regPath -Name 'WUStatusServer' -ErrorAction SilentlyContinue
  }
  $auPath = 'HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU'
  if (Test-Path $auPath) {
    Remove-ItemProperty -Path $auPath -Name 'UseWUServer' -ErrorAction SilentlyContinue
  }
  gpupdate /force
}"

Verificación

  1. Ejecuta usoclient StartScan (Windows 10/Server 2019+) o wuauclt /detectnow en versiones anteriores.
  2. Abre el Visor de eventos → Applications and Services Logs → Microsoft → Windows → WindowsUpdateClient y busca el ID 19 (“Checking for updates”). La descripción debe mencionar la fuente de Microsoft Update, no la URL del WSUS.
  3. Usa Get-WindowsUpdateLog para inspeccionar el archivo de registro y confirmar que no aparecen entradas de WSUS.
  4. En Azure Portal, verifica que la máquina aparece como “Compliant” bajo Update Management.

Notas adicionales

  • La propagación de GPO puede tardar varios minutos en entornos con controladores de dominio distribuidos; usa gpresult /r para confirmar que la política está realmente ausente.
  • Si varios GPOs compiten, la herramienta Resultant Set of Policy (RSoP) ayuda a detectar cuál está imponiendo la configuración.
  • Mantén una copia de seguridad del registro antes de eliminar claves, sobre todo en servidores críticos.
  • En caso de que el servidor WSUS siga respondiendo (por ejemplo, por una regla de firewall que redirige tráfico), bloquea el puerto 8530/80 en la red para evitar que los clientes vuelvan a intentar la conexión.

Con estos pasos los servidores dejan de buscar un WSUS inexistente y pueden recibir actualizaciones de la solución basada en la nube sin interrupciones.