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.
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
- Accedi al server con un account amministrativo e copia il file
wushowhide.diagcab
su disco. - Esegui il file e attendi la scansione degli aggiornamenti disponibili.
- Seleziona Hide updates.
- Metti la spunta a KB5033373 (o ad altri update problematici che intendi sospendere).
- 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
- Apri Impostazioni > Aggiornamento e sicurezza > Windows Update e lancia una verifica disponibilità aggiornamenti.
- 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
- Apri la console WSUS e sincronizza il catalogo.
- Vai su Updates, cerca KB5033373 nel campo di ricerca.
- Seleziona l’aggiornamento e imposta Decline.
- 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
Scenario | Metodo consigliato | Vantaggi | Limiti |
---|---|---|---|
Pochi server isolati, intervento rapido | wushowhide.diagcab | Rapido, reversibile, ufficiale | Procedura manuale host‑per‑host |
Ambiente con decine/centinaia di server | WSUS + GPO | Governance centralizzata, tracciabilità | Richiede infrastruttura WSUS e processi |
Server Core o automazione senza GUI | API Windows Update via PowerShell | Scriptabile, integrabile nei runbook | Richiede test e permessi appropriati |
Update già installato e sistema instabile | wusa / DISM | Rollback ufficiale e pulito | Necessita riavvio e finestra di manutenzione |
Informazioni supplementari utili
Scenario | Metodo alternativo | Note rapide |
---|---|---|
Aggiornamento già installato e server instabile | wusa /uninstall /kb:5033373 oppure DISM /Remove-Package | Richiede riavvio; testare in staging prima di produzione. |
Gestione centralizzata di più server | WSUS o Group Policy per approvare/rifiutare gli update | Evita interventi manuali host‑per‑host. |
Prevenire problemi futuri | Ambiente di test dedicato + snapshot/backup prima degli update | Permette di valutare gli impatti prima del rollout. |
Checklist operativa
- Identifica i server interessati e verifica se KB5033373 è installato.
- Se installato: rimuovilo con
wusa
oDISM
durante una finestra di manutenzione. - Se non installato: nascondi l’update con
wushowhide.diagcab
o declinalo in WSUS. - Conferma che non venga più proposto.
- Monitora i bollettini Microsoft per la disponibilità di una build correttiva.
- 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
- Test: prova la nuova build correttiva in staging con workload rappresentativi.
- 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.
- Distribuzione graduale: applica prima ai server meno critici, poi estendi.
- 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.