WSUS: desaprobar upgrade a Windows 11 y detener descargas/instalación de forma inmediata

¿Aprobaste por error el upgrade a Windows 11 en WSUS y el ancho de banda se disparó? Esta guía práctica te ayuda a cortar descargas en curso y a impedir la instalación, explicando qué ocurre en los clientes, qué hacer en WSUS y qué comandos ejecutar para que el cambio surta efecto de inmediato.

Índice

Qué pasó y por qué sigue descargando

Cuando en WSUS se desaprueba un upgrade (como el “Feature update to Windows 11”), el cambio no impacta instantáneamente a los equipos. Cada cliente aplica la nueva realidad en su próximo ciclo de detección (Windows Update scan), gobernado por la directiva Automatic Updates detection frequency. Si un equipo inició la descarga antes de ese ciclo, puede continuar descargando hasta que vuelva a escanear y vea que el upgrade ya no está aprobado. Si la descarga ya terminó y el cliente quedó en estado Pending install, ese estado desaparecerá tras el siguiente escaneo y el upgrade no se instalará, siempre que permanezca desaprobado y no exista un plazo forzoso pendiente.

Objetivo de control

Lograr tres cosas con la mayor rapidez:

  • Detener descargas en curso para aliviar la red.
  • Retirar el upgrade de la “lista de pendientes” en cada cliente.
  • Evitar instalaciones no deseadas en cualquier equipo que ya tenga el paquete.

Plan de contención exprés

Acciones en WSUS

  • Deja el upgrade en Not approved para todos los grupos afectados. Si necesitas bloquearlo para todos los equipos, Declina el upgrade.
  • Como prevención, en Products and Classifications desmarca Windows 11 y/o la clasificación Upgrades si tu estrategia es no distribuir Feature Updates desde WSUS.
  • Revisa tus Automatic Approvals: evita reglas que aprueben automáticamente la clasificación Upgrades.

Acciones en los clientes: forzar el reescaneo

Para que el cliente deje de ofrecer/instalar el upgrade y cancele descargas pendientes, haz que escanee ya:

# Ejecutar como Administrador en el cliente
usoclient StartScan
usoclient RefreshSettings

Compatibilidad heredada

wuauclt /detectnow /reportnow 

Alternativa sin comandos: ejecuta la tarea programada de Windows Update en el Programador de tareas (Task Scheduler Library → Microsoft → Windows → WindowsUpdate) que dispara el escaneo.

Cancelar descargas en curso

Si observas alto consumo de red y quieres cortar inmediatamente la transferencia:

net stop wuauserv
net stop bits
net stop dosvc
rd /s /q %windir%\SoftwareDistribution\Download
net start dosvc
net start bits
net start wuauserv

Opcional con PowerShell: cancela trabajos BITS activos:

Get-BitsTransfer -AllUsers | Remove-BitsTransfer -Confirm:$false

Después de esto, fuerza un escaneo (ver arriba) para que el cliente “se entere” de que el upgrade ya no aplica.

Política temporal para acelerar la convergencia

Configura en la OU/colección afectada Automatic Updates detection frequency = 1 hora para que los equipos asimilen rápido la desaprobación. Restáuralo a tu valor normal una vez estabilizado.

Si cortaste la red hacia WSUS

Al reabrirla, no esperes efecto inmediato: los clientes respetan su próxima ventana de detección. Por eso es recomendable forzar el escaneo en lugar de esperar el ciclo natural.

Matriz de decisiones rápida

Situación observada en clientesAcción recomendadaResultado esperado
Descarga en curso, alto ancho de bandaDetener servicios, vaciar SoftwareDistribution\Download, cancelar BITS, reiniciar servicios, StartScanDescarga detenida, el upgrade deja de mostrarse tras el escaneo
Estado Pending installForzar escaneo con usoclient StartScanEl upgrade desaparece de la lista de instalación
Clientes desconectados de WSUS por firewall temporalQuitar el bloqueo y forzar escaneoClientes dejan de mirar el upgrade en su siguiente scan
Muchos equipos tardan en “asimilar” la desaprobaciónSetting temporal detection frequency = 1h en GPO + forzar escaneoConvergencia acelerada sin sobrecargar WSUS
Descargas atascadasLimpiar Download y cancelar BITSReintentos limpios tras el escaneo, sin upgrade
Temor a siembra P2POpcional: pausar dosvc y fijar DO en modo HTTP soloEvitas tráfico entre pares en la LAN temporalmente

Verificación en los clientes

  • En Configuración → Windows Update ya no debe aparecer “Feature update to Windows 11…”.
  • El consumo de svchost asociado a wuauserv/BITS cae tras cortar descargas y reescanear.
  • Visor de eventos → Applications and Services Logs → Microsoft → Windows → WindowsUpdateClient → Operational: verás eventos de detección indicando que el upgrade ya no es aplicable/aprobado.
  • Si necesitas un registro consolidado, genera WindowsUpdate.log con Get-WindowsUpdateLog (PowerShell) y revisa la línea de tiempo del escaneo.

Verificación en WSUS

  • En el propio update, en Computer Status, los equipos irán moviéndose a Not Installed/Not Applicable conforme escaneen.
  • Comprueba que el upgrade esté Not approved (o Declined si fue tu elección) y que no existan deadlines residuales.

Procedimientos listos para copiar

Script de emergencia en PowerShell (local o remoto)

Usa este script cuando necesites cortar descargas y limpiar el estado de Windows Update de forma segura. Puede ejecutarse localmente o vía herramientas de administración remota (SCCM, Intune, PsExec, PowerShell Remoting).

## Cortar descargas, limpiar caché de Download y forzar reescaneo
Ejecutar como Administrador

Write-Host "Deteniendo servicios de Windows Update..." -ForegroundColor Yellow
Stop-Service -Name wuauserv -Force -ErrorAction SilentlyContinue
Stop-Service -Name bits -Force -ErrorAction SilentlyContinue
Stop-Service -Name dosvc -Force -ErrorAction SilentlyContinue

Write-Host "Cancelando trabajos BITS..." -ForegroundColor Yellow
Get-BitsTransfer -AllUsers | Remove-BitsTransfer -Confirm:\$false -ErrorAction SilentlyContinue

\$download = Join-Path \$env\:windir "SoftwareDistribution\Download"
if (Test-Path \$download) {
Write-Host "Eliminando \$download..." -ForegroundColor Yellow
try { Remove-Item -Path \$download -Recurse -Force -ErrorAction Stop } catch {}
}

Write-Host "Arrancando servicios..." -ForegroundColor Yellow
Start-Service -Name dosvc -ErrorAction SilentlyContinue
Start-Service -Name bits -ErrorAction SilentlyContinue
Start-Service -Name wuauserv -ErrorAction SilentlyContinue

Start-Sleep -Seconds 3

Write-Host "Forzando reescaneo (USOClient)..." -ForegroundColor Yellow
try { Start-Process -FilePath "usoclient.exe" -ArgumentList "RefreshSettings" -WindowStyle Hidden } catch {}
try { Start-Process -FilePath "usoclient.exe" -ArgumentList "StartScan" -WindowStyle Hidden } catch {}

Write-Host "Listo. Verifica en Configuración → Windows Update." -ForegroundColor Green 

Script para ejecución masiva con PowerShell Remoting

Distribuye el procedimiento anterior a muchos equipos a través de Invoke-Command (requiere WinRM habilitado):

$computers = Get-Content .\equipo_listado.txt  # uno por línea
$scriptblock = {
  Stop-Service wuauserv -Force -ErrorAction SilentlyContinue
  Stop-Service bits -Force -ErrorAction SilentlyContinue
  Stop-Service dosvc -Force -ErrorAction SilentlyContinue
  Get-BitsTransfer -AllUsers | Remove-BitsTransfer -Confirm:$false -ErrorAction SilentlyContinue
  $p = Join-Path $env:windir "SoftwareDistribution\Download"
  if (Test-Path $p) { Remove-Item $p -Recurse -Force -ErrorAction SilentlyContinue }
  Start-Service dosvc -ErrorAction SilentlyContinue
  Start-Service bits -ErrorAction SilentlyContinue
  Start-Service wuauserv -ErrorAction SilentlyContinue
  Start-Sleep -Seconds 2
  Start-Process usoclient.exe -ArgumentList "RefreshSettings" -WindowStyle Hidden
  Start-Process usoclient.exe -ArgumentList "StartScan" -WindowStyle Hidden
}

Invoke-Command -ComputerName \$computers -ScriptBlock \$scriptblock -AsJob 

Comandos equivalentes en CMD

rem Detener, limpiar y reescanear
net stop wuauserv
net stop bits
net stop dosvc
rd /s /q %windir%\SoftwareDistribution\Download
net start dosvc
net start bits
net start wuauserv
usoclient RefreshSettings
usoclient StartScan

Uso prudente de la carpeta SoftwareDistribution

Limpiar %windir%\SoftwareDistribution\Download es una forma eficaz de cortar descargas y liberar espacio. Si además eliminas DataStore, reinicializas la base local e historial de Windows Update del equipo (no recomendado salvo corrupción). En la mayoría de incidencias relacionadas con un upgrade aprobado por error basta con vaciar solo Download y cancelar BITS, seguido de un escaneo forzado.

Consideraciones de Delivery Optimization

  • Mientras el upgrade estuviera aprobado, equipos que ya descargaron podrían sembrar contenido a otros mediante Delivery Optimization (dosvc).
  • Para cortar ese tráfico de forma temporal, detén dosvc como se mostró antes o aplica una política que ponga Download Mode en HTTP solo (y revirtela después).

Preguntas frecuentes

¿Conviene bajar el intervalo de detección automática?

Sí, temporalmente y solo en las OU/colecciones afectadas. Pon Automatic Updates detection frequency en 1 hora para acelerar la retirada del upgrade. Luego vuelve a tu valor normal para no sobrecargar WSUS.

¿Volverán a sincronizar “al instante” tras recuperar la red?

No. Los clientes respetan su próxima ventana de detección ya calculada. Reabre la red y fuerza el escaneo (USOClient, tarea programada o script) para obtener efecto inmediato.

¿Es útil limpiar la carpeta SoftwareDistribution?

Sí, cuando desees cortar descargas en curso, resolver colas atascadas o eliminar el contenido del upgrade de la caché. Limpia Download, cancela BITS y reescanea. Evita borrar DataStore salvo corrupción, pues borra el historial local.

¿Puede instalarse el upgrade si ya estaba en “Pending install”?

Si el upgrade sigue aprobado en el cliente y llega el horario de instalación, podría ejecutarse. Por eso es clave forzar el escaneo tras desaprobar/declinar; el escaneo retira el upgrade de la lista de instalación.

¿Declinar o dejar en Not approved?

Not approved basta para retirar el upgrade de los grupos específicos. Decline lo retira a nivel de servidor para todos los grupos. Si el incidente fue amplio, declinar es más seguro; recuerda que el Server Cleanup Wizard puede purgar actualizaciones declinadas.

¿Qué pasa si uso políticas de Windows Update for Business junto a WSUS?

Evita mezclar WUfB con WSUS a menos que sepas exactamente qué haces. Si te apoyas en WSUS, habilita la política “Do not allow update deferral policies to cause scans against Windows Update” para prevenir dual scan. Las políticas de aplazamiento/objetivo de versión (TargetReleaseVersion) pueden servir como cinturón de seguridad, pero configúralas con cautela.

Rutas de GPO útiles

PolíticaRutaRecomendación
Configure Automatic UpdatesComputer Configuration → Administrative Templates → Windows Components → Windows UpdateAjusta el modo de instalación/aviso según tu estrategia; evita instalaciones forzadas no planificadas.
Automatic Updates detection frequencyComputer Configuration → Administrative Templates → Windows Components → Windows UpdatePon 1 hora de forma temporal en la OU afectada para acelerar el efecto de la desaprobación.
Do not allow update deferral policies to cause scans against Windows UpdateComputer Configuration → Administrative Templates → Windows Components → Windows UpdateActívala si gestionas con WSUS para evitar dual scan.
Delivery Optimization – Download ModeComputer Configuration → Administrative Templates → Windows Components → Delivery OptimizationTemporalmente en HTTP solo si necesitas frenar el P2P; recuerda revertir.

Buenas prácticas preventivas

  • Usa anillos de despliegue (piloto → ampliación) y evita autoaprobaciones para la clasificación Upgrades.
  • Mantén desmarcada la clasificación Upgrades si no quieres distribuir Feature Updates desde WSUS.
  • Antes de aprobar, valida en laboratorio y define deadlines con cuidado.
  • Ten un runbook de reversión (forzar escaneo + limpiar descargas) listo para ejecutar por script.
  • Monitoriza el Computer Status del upgrade en WSUS para detectar desviaciones tempranas.
  • Documenta qué herramientas usarás para fan-out masivo (SCCM, Intune, GPO de inicio, PsExec, PowerShell Remoting).

Checklist operativo

  1. WSUS: dejar en Not approved o Decline el upgrade.
  2. Clientes: forzar StartScan en el parque afectado.
  3. Red: si hay congestión, detener wuauserv/bits/dosvc, limpiar Download, cancelar BITS y reescaneo.
  4. GPO temporal: detection frequency a 1h en la OU afectada.
  5. Verificación: WU en cliente sin el upgrade; Computer Status moviéndose a Not Applicable en WSUS.
  6. Prevención: revisar reglas de autoaprobación y clasificación Upgrades.

Guía de diagnóstico rápido

Si, tras seguir los pasos, todavía ves tráfico o el upgrade en pantalla:

  • Comprueba que el cliente alcanza el WSUS correcto (directiva Specify intranet Microsoft update service location).
  • Ejecuta usoclient StartScan y revisa el Visor de eventos para confirmar el nuevo estado.
  • Valida que no haya políticas WUfB activas sin la salvaguarda contra dual scan.
  • En casos extremos, pausa temporalmente Delivery Optimization y repite la limpieza de Download.

Detalles sobre servicios y su función

ServicioNombreRolCuándo tocarlo
Windows UpdatewuauservOrquesta detección, descarga y aplicación de actualizacionesDetener al limpiar caché o cortar descargas
Background Intelligent TransferBITSTransfiere archivos en segundo plano (actualizaciones incluidas)Detener/cancelar para cortar descargas en curso
Delivery OptimizationdosvcP2P de actualizaciones entre equiposDetener temporalmente si hay siembra local no deseada

Automatización desde el servidor WSUS

Para identificar rápidamente qué equipos quedaron asociados al upgrade y con qué estado, puedes apoyarte en PowerShell en el servidor WSUS:

# Ejecutar en el servidor WSUS con el módulo de administración instalado
$wsus = Get-WsusServer
$update = ($wsus.SearchUpdates("Feature update to Windows 11") | Select-Object -First 1)
$info = $update.GetUpdateInstallationInfoPerComputerTarget()
$info | Select-Object ComputerTargetId, @{n="State";e={$_.UpdateInstallationState}}, LastUpdatedTime | Format-Table -Auto

Con esa salida priorizas los equipos donde conviene empujar el escaneo forzado primero.

Errores comunes y cómo evitarlos

  • Esperar a que “se arregle solo”: sin escaneo, el cliente no se entera del cambio en WSUS.
  • Borrar todo SoftwareDistribution sin respaldo: es innecesario en la mayoría de los casos y borra el historial local.
  • Dejar habilitada la clasificación Upgrades con autoaprobación: abre la puerta a incidentes repetidos.
  • Mezclar WUfB con WSUS sin control: puede activar dual scan y traer upgrades desde Internet.
  • Olvidar Delivery Optimization: aunque el upgrade ya no esté aprobado, la siembra P2P puede mantener tráfico si no detienes dosvc temporalmente en escenarios extremos.

Conclusión

La clave es comprender que la desaprobación en WSUS solo surte efecto cuando el cliente vuelve a escanear. Para frenar al instante descargas e instalaciones no deseadas: desaprueba o declina el upgrade en WSUS, fuerza un reescaneo en los clientes y, si hay consumo de red, limpia la caché de descarga y cancela BITS. Acelera la convergencia fijando temporalmente la frecuencia de detección y, una vez estabilizado, restaura tu configuración habitual. Implementa anillos, evita autoaprobaciones de Upgrades y ten un script de reversión listo para la próxima vez.

Índice