WSUS: revocare rapidamente un Windows 11 Feature Update approvato per errore (guida completa)

Se un “Windows 11 Feature Update” è stato approvato per errore in WSUS e la rete continua a saturarsi, ecco un playbook pratico per annullare l’installazione, interrompere i download, forzare un nuovo rilevamento sui client e riportare rapidamente l’infrastruttura alla normalità.

Indice

Panoramica del problema

Un amministratore approva per sbaglio il “Windows 11 Feature Update” per un gruppo di computer in WSUS. Dopo tre ore imposta lo stato su Not Approved, ma la banda resta elevata: diversi client stanno ancora scaricando. Isolare il segmento di rete dai server WSUS ferma la tempesta di traffico, ma solleva domande operative: come impedire in modo rapido e affidabile che l’aggiornamento venga scaricato e installato? Conviene ridurre l’Automatic Update Detection Frequency (AUDF)? Cosa succede quando si ristabilisce la connettività? È necessario svuotare a mano C:\Windows\SoftwareDistribution?

Risposta breve alle domande chiave

  • Metodo più rapido e affidabile: revocare subito l’approvazione in WSUS e forzare un nuovo ciclo di rilevamento sui client interessati. Se alcuni PC stanno ancora scaricando, fermare temporaneamente Windows Update/BITS e, solo se indispensabile, cancellare i file già in coda.
  • Ridurre l’AUDF: non è necessario per risolvere l’incidente; è utile solo come ottimizzazione futura. L’intervallo non può scendere sotto 1 ora.
  • Rete disabilitata: il blocco della rete interrompe i download, ma i client non “capiscono” che l’update non è più approvato finché non eseguono un nuovo detection cycle.
  • Svuotare SoftwareDistribution: non è obbligatorio. Serve solo per liberare banda/spazio o troncare download quasi completati; in tal caso bastano i contenuti della sottocartella Download.

Procedura rapida per fermare tutto

Questa sequenza ripristina la situazione in pochi minuti, senza misure invasive permanenti.

  1. In WSUS: aprire l’aggiornamento e impostare Not Approved per i gruppi coinvolti (o Decline se si desidera bloccarlo per tutti i computer).
  2. Sui client interessati: forzare una nuova rilevazione degli aggiornamenti per recepire subito la revoca. wuauclt /resetauthorization /detectnow usoclient startscan In alternativa (più affidabile e silenzioso) via COM: $au = New-Object -ComObject Microsoft.Update.AutoUpdate $au.DetectNow()
  3. Solo se i download saturano ancora la banda: troncare i trasferimenti in corso e ripulire la coda locale. Stop-Service wuauserv -Force Stop-Service bits -Force Remove-Item "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force -ErrorAction SilentlyContinue Start-Service bits Start-Service wuauserv
  4. Verifica: dai report WSUS (Update Status) e dal log client (Get-WindowsUpdateLog) accertare che l’update non risulti più Applicable/Approved.

Tabella operativa riassuntiva

PassoAzione consigliataDettagli e motivazioni
Annullare l’approvazioneImpostare Not Approved per i gruppi interessati o usare Decline per bloccare globalmente l’update.Blocca nuove installazioni dal lato server. Non è necessario eliminare regole; basta la modifica di stato.
Attendere o forzare il rilevamentoLasciare che i client eseguano il prossimo ciclo AUDF (minimo 1 ora) oppure forzarlo.Finché non avviene il nuovo “Detect Updates”, i client proseguono i download in coda.
Accelerare la sincronizzazioneEseguire wuauclt /resetauthorization /detectnow o usoclient startscan, oppure il metodo COM.Forza la rivalutazione delle regole WSUS e blocca la fase di installazione in attesa.
Bloccare download già in corsoArrestare Windows Update e BITS, svuotare SoftwareDistribution\Download, riavviare i servizi.Serve solo se l’aggiornamento è quasi scaricato o la banda è critica; altrimenti basta attendere la nuova detection.
Evitare isolamento prolungatoNon tenere i client scollegati a lungo: ripristinare la rete e far ricevere la revoca tramite detection.L’isolamento ferma il traffico ma non aggiorna lo stato di conformità. Meglio una pausa breve e poi forzare il rilevamento.

Perché la banda resta alta dopo l’unapprove

  • Il client continua a scaricare finché non riesegue la fase di Detect Updates e rielabora le regole WSUS.
  • Se il download era già avviato, le sessioni BITS restano attive fino a completamento o cancellazione.
  • Al successivo rilevamento il client marchia il contenuto come non più necessario e lo scarta; se i file sono in uso, lo farà entro i cicli successivi.

Quando la revoca diventa effettiva

  • Subito su WSUS: lo stato dell’update cambia istantaneamente.
  • Entro l’AUDF sul client (minimo 1 ora): al primo detect utile il PC recepisce che l’update non è più approvato e interrompe installazione/download.
  • Con rete isolata: il timer di detection prosegue; il contatto con WSUS avverrà alla successiva ricorrenza utile o se si forza manualmente.

Dettaglio tecnico per amministratori

Come forzare il rilevamento in modo affidabile

Su Windows 10/11 il comando usoclient startscan è il più rapido; wuauclt /detectnow e /reportnow restano utili per WSUS. Per ambienti restrittivi, il metodo COM è spesso il più “silenzioso” e consistente:

$au = New-Object -ComObject Microsoft.Update.AutoUpdate
$au.DetectNow()
facoltativo: chiedi subito il reporting a WSUS
Start-Process -FilePath "wuauclt.exe" -ArgumentList "/reportnow" -WindowStyle Hidden

Se devi agire in massa, usa PowerShell Remoting o uno strumento di gestione (GPO, Intune, System Center) per invocare il rilevamento sui target selezionati.

Come troncare download in corso

Se la banda è saturata, la misura più efficace è sospendere temporaneamente Windows Update e BITS, azzerare la coda di download e riavviare i servizi. Esempio:

Stop-Service wuauserv -Force
Stop-Service bits -Force

Rimuovi solo ciò che è sicuro eliminare

Remove-Item "C:\Windows\SoftwareDistribution\Download*" -Recurse -Force -ErrorAction SilentlyContinue

(Opzionale) Cancella eventuali job BITS residui

Get-BitsTransfer -AllUsers | Where-Object { $_.DisplayName -like "Windows Update" } | Remove-BitsTransfer -Confirm:$false

Start-Service bits
Start-Service wuauserv

Nota: non è necessario arrestare altri servizi. Delivery Optimization (DoSvc) non viene normalmente usata per contenuti WSUS; concentrati su Windows Update e BITS. Evita di cancellare l’intera cartella SoftwareDistribution a meno di corruzione: rischieresti di perdere storico e cataloghi utili.

Eventi e log da consultare

  • Event ViewerApplications and Services LogsMicrosoftWindowsWindowsUpdateClientOperational: cerca l’avvio e l’esito dei cicli di rilevamento/installazione.
  • Get-WindowsUpdateLog: ricostruisce il log leggibile dai file ETL per analisi approfondite.
  • WSUS Report Update Status e Computer Status: verifica che l’update non risulti più Approved/Applicable sui client.

GPO e AU Detection Frequency

L’AUDF si configura in Computer Configuration → Administrative Templates → Windows Components → Windows Update con la policy “Automatic Update detection frequency”. Il valore è espresso in ore; range 1–22, predefinito 22 se non configurato. In termini pratici:

  • Ridurre l’AUDF non spegne i download in corso: serve solo a far recepire prima la revoca.
  • Per un incidente in corso, è più efficace forzare il rilevamento sui PC critici che toccare l’AUDF globale.
  • Il refresh GPO (gpupdate /force) applica la nuova policy ma non avvia la detection: va comunque invocata.

Registro: HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU contiene DetectionFrequency (DWORD, 1–22) e DetectionFrequencyEnabled (DWORD, 1).

Isolamento della rete: pro e contro

Scollegare i client dal WSUS o applicare un blocco temporaneo a firewall (80/443) è una misura d’emergenza utile a spegnere la saturazione, ma non sostituisce la revoca. Quando la rete torna disponibile, i PC non “corrono subito” a WSUS: si riallineano al prossimo rilevamento programmato o se si forza la scansione. Per questo è preferibile un isolamento breve, seguito da detect forzato.

Esempio di regola temporanea per singola macchina (da rimuovere a fine emergenza):

New-NetFirewallRule -DisplayName "Block WSUS (temp)" `
  -Direction Outbound -Action Block `
  -RemoteAddress <IP_WSUS> -Protocol TCP -RemotePort 80,443 `
  -Program "%windir%\system32\svchost.exe" -Service wuauserv

Operazioni lato WSUS

  • Not Approved vs Decline: il primo rimuove il consenso per specifici gruppi; il secondo rende l’update inaccessibile per tutti fino a Undecline.
  • Regole di Approvazione Automatica: sospendi o affina le regole che includono Upgrades o prodotti Windows 11, per evitare che lo scenario si ripeta.
  • Pulizia: il Server Cleanup Wizard rimuove aggiornamenti scaduti/sostituiti; non influisce sui client in download, ma tiene in ordine il repository.
  • WSUSUtil Reset: non necessario per questo incidente; serve a riallineare i file di contenuto, non a revocare approvazioni.

Esempi di automazione

Forzare rilevamento e troncare download su un set di PC

# Sostituisci con il tuo elenco (da AD, CSV, ecc.)
$Targets = @("PC01","PC02","PC03")

Invoke-Command -ComputerName $Targets -ScriptBlock {
try {
Write-Output "[$env:COMPUTERNAME] Forzo detection..."
$au = New-Object -ComObject Microsoft.Update.AutoUpdate
$au.DetectNow()
Start-Process -FilePath "wuauclt.exe" -ArgumentList "/reportnow" -WindowStyle Hidden
```
Start-Sleep -Seconds 5
$downloading = Get-BitsTransfer -AllUsers | Where-Object { $_.DisplayName -like "*Windows Update*" }
if ($downloading) {
  Write-Output "[$env:COMPUTERNAME] Tronco download in corso..."
  Stop-Service wuauserv -Force
  Stop-Service bits -Force
  Remove-Item "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force -ErrorAction SilentlyContinue
  $downloading | Remove-BitsTransfer -Confirm:$false
  Start-Service bits
  Start-Service wuauserv
}

Write-Output "[$env:COMPUTERNAME] Operazione completata."
```
}
catch {
Write-Warning "[$env:COMPUTERNAME] Errore: $($_.Exception.Message)"
}
}

Ripulire la coda BITS in modo selettivo

Se vuoi solo cancellare i job BITS legati agli update (lasciando intatti eventuali job applicativi):

Get-BitsTransfer -AllUsers |
  Where-Object { $.DisplayName -like "*Windows Update*" -or $.OwnerAccount -match "Network Service|SYSTEM" } |
  Remove-BitsTransfer -Confirm:$false

Verifica distribuita dello stato

Rapporto rapido per vedere quali PC risultano ancora “applicabili” all’update (lato client):

Invoke-Command -ComputerName $Targets -ScriptBlock {
  $Session = New-Object -ComObject Microsoft.Update.Session
  $Searcher = $Session.CreateUpdateSearcher()
  # Filtra “Upgrades” per Windows 11
  $Result = $Searcher.Search("IsInstalled=0 and Type='Software'")
  $Applicable = $Result.Updates | Where-Object { $.Title -match "Windows 11" -and $.Title -match "Feature update" }
  [PSCustomObject]@{
    Computer = $env:COMPUTERNAME
    Applicable = ($Applicable | Select-Object -ExpandProperty Title) -join "; "
  }
} | Format-Table -AutoSize

Matrici di decisione

SituazioneIntervento consigliatoEffetti collaterali
Banda molto alta, installazioni imminentiRevoca in WSUS + detect forzato + stop BITS/WUA su PC criticiBreve interruzione del servizio Windows Update sui PC coinvolti
Pochi PC hanno già scaricato quasi tuttoRevoca + detect forzato; se serve, svuota DownloadRiscalcolo catalogo al riavvio del servizio, temporaneo
Intera rete saturataBlocca temporaneamente l’accesso a WSUS a livello firewall, poi detect forzatoNessun aggiornamento finché dura il blocco; ricordati di rimuoverlo
Tempi lunghi di rientroNon toccare AUDF globale; usa script mirati per l’area impattataMinore rischio di effetti su tutto il parco macchine

Casi particolari

  • Computer in stato “Pending Install”: se l’update viene revocato prima della finestra di installazione, al prossimo rilevamento tornerà a Not Applicable.
  • PC già aggiornati: la revoca non esegue rollback. Se serve un ritorno a Windows 10/11 precedente, valuta il ripristino da immagine o una strategia di in-place downgrade pianificata.
  • RIAAS/VPN: i client remoti potrebbero non raggiungere subito WSUS; considera un detect forzato quando sono connessi o una finestra di rientro più lunga.

Checklist di emergenza

  • Revoca immediata in WSUS (Not Approved o Decline).
  • Inventario dei client coinvolti (gruppi WSUS, subnet, AD).
  • Rilevamento forzato sui client critici.
  • Interruzione download su host più attivi (Stop WUA/BITS + pulizia).
  • Verifica con report WSUS e log client.
  • Rimozione di eventuali blocchi firewall temporanei.
  • Comunicazione di chiusura incidente e lezioni apprese.

Prevenzione e buone pratiche

  • Anelli di distribuzione: crea Pilot → Pre-Prod → Prod con limiti quantitativi per ridurre l’esposizione a errori.
  • Revisione delle regole: evita che l’approvazione automatica includa Upgrades o prodotti non desiderati; usa eccezioni mirate.
  • Finestra di manutenzione: preferisci installazioni fuori orario e con scadenze differenziate per anello.
  • Osservabilità: dashboard su traffico BITS e code di download per individuare saturazioni in pochi minuti.
  • Runbook convalidati: mantieni aggiornato un playbook come questo, testato su un gruppo pilota.

Domande frequenti

Conviene abbassare l’AUDF durante l’incidente?
Di solito no: cambiare la policy globale richiede propagazione e non interrompe i download già in corso. È più rapido forzare il detect sui PC interessati.

È obbligatorio svuotare la cartella SoftwareDistribution?
No. Serve soltanto per liberare spazio/banda o azzerare queue ostinate. Limitati a SoftwareDistribution\Download e ripristina i servizi.

I client si sincronizzano subito quando la rete torna?
Non immediatamente: attendono la prossima ricorrenza dell’AUDF o un avvio manuale del rilevamento.

Meglio Not Approved o Decline?
Se l’errore riguarda solo alcuni gruppi, Not Approved è sufficiente. Se vuoi bloccare universalmente quell’update finché non decidi diversamente, usa Decline.

Conclusioni

Per fermare un “Windows 11 Feature Update” approvato per errore in WSUS, la chiave è combinare una revoca rapida lato server con una forzatura tempestiva del rilevamento lato client. Troncando i download solo dove necessario e evitando modifiche strutturali (come cambiare drasticamente l’AUDF), ripristini la normalità in modo pulito e verificabile. L’isolamento di rete resta un’opzione d’emergenza utile ma temporanea: non sostituisce il passaggio logico della revoca. Con un runbook, script pronti e un disegno di anelli di rilascio, questo incidente si chiude in minuti e diventa un’occasione per rafforzare la governance degli aggiornamenti.


In sintesi

  • Revocare l’approvazione è la misura principale e sufficiente per bloccare nuove installazioni.
  • I client smettono di scaricare/installare dopo il detection cycle successivo (minimo 60 minuti), o subito se forzato.
  • La rimozione di SoftwareDistribution\Download e l’isolamento di rete sono misure d’emergenza, utili a liberare banda/tempo ma non indispensabili per la riuscita.
Indice