Bloccare l’installazione di KB5033373 su Windows Server 2016 con strumenti ufficiali Microsoft

KB5033373 può causare crash su alcuni Windows Server 2016. In questa guida spiego come bloccarne in modo sicuro l’installazione usando solo strumenti Microsoft ufficiali: wushowhide.diagcab, WSUS/GPO e comandi di rollback, con buone pratiche per ambienti di produzione.

Indice

Panoramica del problema

In specifici scenari, l’aggiornamento cumulativo KB5033373 per Windows Server 2016 può innescare instabilità fino al crash del sistema. Se il server è mission‑critical, l’obiettivo è impedire che l’update venga riproposto o installato automaticamente, senza affidarsi a software di terze parti o a pacchetti non ufficiali.

Fortunatamente esistono meccanismi supportati da Microsoft per nascondere gli aggiornamenti problematici, disinstallarli in sicurezza qualora fossero già presenti e governare la distribuzione da un punto centralizzato. In questa pagina trovi un percorso operativo dettagliato, adatto sia a singoli host sia a interi cluster o farm.

Perché bloccarlo in modo selettivo

Bloccare tutti gli update è una cattiva pratica che espone a vulnerabilità. Il miglior approccio è selettivo: sospendere solo il KB difettoso, mantenendo l’applicazione delle altre patch di sicurezza e qualità. Così:

  • Riduci il rischio di exploit, perché continui a ricevere correzioni critiche non correlate al problema.
  • Eviti rollback pesanti o lunghe finestre di manutenzione.
  • Prepari un percorso ordinato per rimuovere il blocco quando Microsoft rilascerà una build corretta o un fix out‑of‑band.

Prerequisiti e buone pratiche

  • Account amministrativo locale o di dominio per eseguire strumenti e comandi.
  • Backup/istantanea del sistema o della VM prima di modifiche importanti.
  • Ambiente di staging dove riprodurre e verificare il comportamento del KB.
  • Finestra di manutenzione concordata per eventuali riavvii (disinstallazione).

Prima di tutto verifica lo stato dell’update sul server interessato:

# Verifica se il KB risulta installato
Get-HotFix -Id KB5033373

In alternativa (output esteso)

wmic qfe | findstr 5033373 

Procedura con Show or Hide Updates Troubleshooter

Microsoft fornisce un piccolo Troubleshooter denominato Show or Hide Updates (wushowhide.diagcab) che consente di nascondere aggiornamenti specifici. Sebbene non sia più evidenziato nella documentazione più recente, il file è ancora disponibile dai canali ufficiali Microsoft e funziona anche su Windows Server 2016.

Quando usare questo strumento

  • Vuoi bloccare rapidamente solo KB5033373 su uno o pochi server.
  • Non hai WSUS o non vuoi toccare le regole di approvazione globali.
  • Hai bisogno di una soluzione reversibile con un paio di clic.

Passi operativi

  1. Accedi al server con un account amministrativo e copia il file wushowhide.diagcab su disco.
  2. Esegui il file e attendi la scansione degli aggiornamenti disponibili.
  3. Seleziona Hide updates.
  4. Metti la spunta a KB5033373 (o ad altri update problematici che intendi sospendere).
  5. Conferma con Next e completa la procedura. L’aggiornamento verrà nascosto e non sarà più offerto né installato automaticamente.

Come verificare che il blocco sia attivo

  1. Apri Impostazioni > Aggiornamento e sicurezza > Windows Update e lancia una verifica disponibilità aggiornamenti.
  2. Assicurati che KB5033373 non compaia più nell’elenco degli update in attesa.

Per rimuovere il blocco in futuro (ad esempio quando Microsoft rilascia un fix), riapri lo stesso tool e scegli Show hidden updates, quindi deseleziona l’update nascosto in precedenza.

Gestione centralizzata con WSUS e Group Policy

Se amministri più server, è preferibile governare gli aggiornamenti in modo centralizzato tramite WSUS e criteri di gruppo.

Declinare l’update in WSUS

  1. Apri la console WSUS e sincronizza il catalogo.
  2. Vai su Updates, cerca KB5033373 nel campo di ricerca.
  3. Seleziona l’aggiornamento e imposta Decline.
  4. Verifica che i gruppi di target (server) interessati non abbiano regole automatiche che possano ri‑approvare l’update.

In questo modo l’aggiornamento non verrà mai installato sui server che ricevono update dal tuo WSUS, senza richiedere interventi host‑per‑host.

Considerazioni su Group Policy senza WSUS

Non esiste un criterio nativo per nascondere un singolo KB tramite GPO quando si usa direttamente Windows Update da Internet. Puoi però agire su alcune impostazioni per mitigare il rischio:

  • Configure Automatic Updates: imposta il download e l’installazione manuali per guadagnare il tempo necessario a nascondere il KB con wushowhide.diagcab.
  • No auto-restart with logged on users: riduci il rischio di riavvii non pianificati durante finestre operative sensibili.

L’approccio consigliato resta comunque l’uso di WSUS per blocchi selettivi a livello di infrastruttura.

Rollback sicuro se l’aggiornamento è già installato

Se il server è diventato instabile dopo l’installazione di KB5033373, procedi alla rimozione con gli strumenti Microsoft di sistema. Ricorda che la disinstallazione può richiedere un riavvio.

Disinstallazione con wusa

wusa /uninstall /kb:5033373 /quiet /norestart

Note: rimuovi i parametri /quiet /norestart se preferisci un’esperienza interattiva; pianifica il reboot.

Disinstallazione con DISM

DISM consente di elencare i pacchetti installati e rimuovere quello desiderato:

dism /Online /Get-Packages | findstr 5033373

Supponendo che il nome pacchetto sia, ad esempio:

Package\for\RollupFix~31bf3856ad364e35~amd64~~14393.XXXX.1

dism /Online /Remove-Package /PackageName\:Package\for\RollupFix~31bf3856ad364e35~amd64~~14393.XXXX.1 /Quiet /NoRestart 

Dopo il riavvio, nascondi l’update (con wushowhide o WSUS) per evitare che venga riproposto.

Automazione con API di Windows Update

Per ambienti senza GUI (Server Core) o per automatizzare la procedura senza WSUS, puoi usare le API COM ufficiali di Windows Update per cercare e nascondere aggiornamenti specifici. Il seguente script PowerShell è compatibile con Windows Server 2016:

$ErrorActionPreference = 'Stop'

Crea una sessione Windows Update (API COM ufficiale Microsoft)

\$session   = New-Object -ComObject 'Microsoft.Update.Session'
\$searcher  = \$session.CreateUpdateSearcher()

Cerca solo aggiornamenti software, non installati e non già nascosti

\$results   = \$searcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")

\$targetKb  = 'KB5033373'
\$hidden    = 0

foreach (\$upd in \$results.Updates) {
if (\$upd.Title -match \$targetKb) {
\$upd.IsHidden = \$true
\$hidden++
Write-Host "Nascosto: \$(\$upd.Title)"
}
}

if (\$hidden -eq 0) {
Write-Host "Nessun aggiornamento corrispondente a \$targetKb trovato tra quelli disponibili."
} else {
Write-Host "Totale aggiornamenti nascosti: \$hidden"
} 

Questo approccio è particolarmente utile nei runbook di emergenza, nei server Core o in pipeline di provisioning, perché elimina la dipendenza dall’interfaccia grafica, restando allo stesso tempo pienamente nel perimetro Microsoft.

Confronto rapido dei metodi

ScenarioMetodo consigliatoVantaggiLimiti
Pochi server isolati, intervento rapidowushowhide.diagcabRapido, reversibile, ufficialeProcedura manuale host‑per‑host
Ambiente con decine/centinaia di serverWSUS + GPOGovernance centralizzata, tracciabilitàRichiede infrastruttura WSUS e processi
Server Core o automazione senza GUIAPI Windows Update via PowerShellScriptabile, integrabile nei runbookRichiede test e permessi appropriati
Update già installato e sistema instabilewusa / DISMRollback ufficiale e pulitoNecessita riavvio e finestra di manutenzione

Informazioni supplementari utili

ScenarioMetodo alternativoNote rapide
Aggiornamento già installato e server instabilewusa /uninstall /kb:5033373 oppure DISM /Remove-PackageRichiede riavvio; testare in staging prima di produzione.
Gestione centralizzata di più serverWSUS o Group Policy per approvare/rifiutare gli updateEvita interventi manuali host‑per‑host.
Prevenire problemi futuriAmbiente di test dedicato + snapshot/backup prima degli updatePermette di valutare gli impatti prima del rollout.

Checklist operativa

  1. Identifica i server interessati e verifica se KB5033373 è installato.
  2. Se installato: rimuovilo con wusa o DISM durante una finestra di manutenzione.
  3. Se non installato: nascondi l’update con wushowhide.diagcab o declinalo in WSUS.
  4. Conferma che non venga più proposto.
  5. Monitora i bollettini Microsoft per la disponibilità di una build correttiva.
  6. Rimuovi il blocco quando la versione corretta è disponibile e testata in staging.

Domande frequenti

Nascondere un update equivale a disattivare gli aggiornamenti?
No. Nascondere un KB blocca solo quell’aggiornamento. Gli altri update continueranno a essere proposti e installati secondo la tua policy.

Se Microsoft rilascia un rollup successivo, tornerà a comparire?
Sì, i Monthly Rollup spesso vengono superseded da un nuovo KB. Dovrai eventualmente nascondere anche il nuovo numero oppure gestire l’approvazione in WSUS.

Posso nascondere il KB con GPO senza WSUS?
Non direttamente. Le GPO non offrono un’impostazione per un singolo KB. Puoi però usare GPO per impostare installazioni manuali, lasciandoti il tempo di nascondere il KB con wushowhide o con lo script PowerShell basato su API COM.

Il server è talmente instabile da non avviarsi. Cosa posso fare?
Avvia in Recovery Environment e valuta la disinstallazione offline del pacchetto con DISM su un’immagine montata. In alternativa usa un punto di ripristino o il backup. Appena il sistema è stabile, applica il blocco per evitare la re‑installazione.

Che differenza c’è tra wusa e DISM?
wusa è l’utility dedicata agli aggiornamenti MSU, semplice e lineare; DISM lavora a livello di pacchetti e funzionalità del sistema, è più flessibile e utile quando devi identificare o rimuovere componenti precisi.

Raccomandazioni per ambienti enterprise

  • Processo di approvazione: definisci un change advisory rapido per blocchi mirati, con criteri chiari su quando e come rimuoverli.
  • Telemetria: centralizza log di Windows Update, eventi e crash dump per mappare l’impatto del KB.
  • Communication plan: informa i team applicativi e di sicurezza sugli host coinvolti, sui tempi di rollback e sulle mitigazioni transitorie.
  • Standardizzazione: usa WSUS per applicare il blocco una sola volta e rifletterlo su tutti i server del gruppo.
  • Documentazione: registra KB, host coinvolti, data di blocco, responsabile, evidenze di test e data di sblocco.

Verifiche post‑intervento

Dopo la messa in sicurezza, esegui queste verifiche:

  • Integrità dei servizi: tutti i servizi critici sono tornati in esecuzione?
  • Patch compliance: gli altri aggiornamenti di sicurezza sono installati?
  • Persistenza del blocco: KB5033373 non viene riproposto durante le successive scansioni di Windows Update.
  • Monitoraggio: nessun nuovo evento critico legato a Windows Update nel Visualizzatore eventi.

Esempi di script e comandi utili

Forza una nuova scansione di Windows Update (utile dopo aver nascosto un KB):

$session  = New-Object -ComObject 'Microsoft.Update.Session'
$updater  = $session.CreateUpdateSearcher()
$result   = $updater.Search("IsInstalled=0 and Type='Software'")
$result.Updates | Select-Object Title, IsHidden

Elenca i pacchetti installati e individua rapidamente il KB:

dism /Online /Get-Packages | findstr /i 5033373

Disinstalla e riavvia subito (solo in finestra di manutenzione):

wusa /uninstall /kb:5033373 /quiet /forcerestart

Cosa fare quando esce la versione corretta

  1. Test: prova la nuova build correttiva in staging con workload rappresentativi.
  2. Sblocco:
    • Con il tool: Show hidden updates → deseleziona il KB bloccato.
    • Con WSUS: rimuovi lo status Declined e approva la nuova build.
    • Con script: imposta IsHidden = $false per gli aggiornamenti di interesse.
  3. Distribuzione graduale: applica prima ai server meno critici, poi estendi.
  4. Chiusura del change: aggiorna la documentazione e rimuovi eventuali mitigazioni temporanee.

Good practice: appena Microsoft rilascia una versione corretta o un fix out‑of‑band, togli il blocco (stesso tool → Show hidden updates) e installa la build risolta.

Conclusioni

Per bloccare in modo sicuro l’installazione dell’aggiornamento KB5033373 su Windows Server 2016, la via più rapida e a basso rischio è l’uso del Show or Hide Updates Troubleshooter (wushowhide.diagcab), uno strumento Microsoft ancora pienamente funzionante sul sistema in questione. In ambienti più complessi, la combinazione di WSUS, Group Policy e—quando serve—delle API COM di Windows Update permette di ottenere un controllo granulare e auditabile, senza ricorrere a software esterni. Se il KB è già presente e causa instabilità, wusa e DISM offrono un rollback ufficiale e pulito. Infine, mantieni un processo di test e di rilascio correttivo: bloccare è una misura temporanea, la sicurezza a lungo termine passa sempre dall’aggiornamento.


Indice