Come installare e configurare Windows Server Update Services (WSUS)

Windows Server Update Services (WSUS) è il componente Microsoft che consente la distribuzione centralizzata degli aggiornamenti nei domini Active Directory, ottimizzando la larghezza di banda e mantenendo il pieno controllo su quali patch vengono distribuite e quando.

Questa guida, aggiornata al 2026, copre l’installazione su Windows Server 2019, 2022 e 2025, la configurazione tramite PowerShell e GUI, la gestione dei client tramite GPO, la manutenzione del database e le best practice per sysadmin e MSP.

Nota importante: Microsoft ha annunciato ufficialmente la deprecazione di WSUS a settembre 2024. Il servizio rimane funzionante e supportato, ma non riceverà nuove funzionalità. Per ambienti completamente gestiti in cloud (Azure AD / Entra ID + Intune), considera Windows Update for Business (WUfB) come alternativa che non richiede infrastruttura on-premises. WSUS resta la scelta giusta per gli ambienti tradizionali con Active Directory on-premises.

Prerequisiti WSUS

Prima di avviare l’installazione, verifica che i seguenti requisiti siano soddisfatti:

RequisitoDettaglio
Sistema operativoWindows Server 2019, 2022 o 2025 (membro di dominio o standalone)
Ruolo serverServer membro del dominio AD o Domain Controller (non raccomandato in produzione)
AccountMembro del gruppo Domain Admins o Local Administrators
Volume dedicatoAlmeno 100 GB liberi su un volume separato da C:\ per il contenuto degli aggiornamenti
Porte firewallTCP 8530 (HTTP) o 8531 (HTTPS) aperte dai client verso il server WSUS
Accesso InternetHTTPS verso *.update.microsoft.com e *.windowsupdate.com dal server WSUS
SQL Server (opzionale)SQL Server Express, Standard o Enterprise – preinstallato se non si usa WID

Decisioni architetturali

Topologia: Standalone, Upstream/Downstream o Autonomo

In un ambiente single-site, un singolo server WSUS è sufficiente. In ambienti multi-site o MSP con più clienti, è possibile configurare una gerarchia:

  • Server upstream: si sincronizza direttamente con Microsoft Update. Le approvazioni definite qui vengono propagate ai server downstream.
  • Server downstream (replica): si sincronizza dal server upstream e ne replica le approvazioni. Ideale per sedi remote con larghezza di banda WAN limitata.
  • Server downstream autonomo: sincronizza il contenuto dall’upstream ma gestisce le proprie approvazioni. Ideale per MSP che necessitano di controllo granulare per cliente.

Backend: WID (Windows Internal Database) o SQL Server?

La scelta del database ha un impatto diretto sulle prestazioni a lungo termine.

CriterioWIDSQL Server
Client supportatiFino a ~500 raccomandatiIllimitati
Manutenzione databaseLimitata (solo sqlcmd)Completa (SSMS)
Prestazioni con grandi datasetDegrado progressivo notoStabili
Raccomandato perAmbienti < 500 clientMSP, enterprise, > 500 client

Raccomandazioni di dimensionamento

RisorsaMinimoRaccomandato
Disco (contenuto)100 GB (solo metadati)500 GB – 2 TB (dipende dai prodotti)
RAM8 GB16 GB per > 500 client
CPU2 core4 core (WSUS è I/O-bound, non CPU-bound)
Tipo di storageHDDSSD – obbligatorio per prestazioni accettabili

1. Installazione del ruolo WSUS

Installazione tramite GUI (Server Manager)

Apri Server Manager e clicca su Add Roles and Features:

Procedura guidata Aggiungi ruoli e funzionalità nella schermata Selezione ruoli del server con Windows Server Update Services selezionato

Nella procedura guidata, seleziona il ruolo Windows Server Update Services.

Nella schermata Role Services, seleziona:

  • WID Connectivity o SQL Server Connectivity (in base alla scelta architetturale)
  • WSUS Services
  • Management Tools (incluso automaticamente)

Nella schermata Content location, specifica il percorso del volume dedicato:

Installazione del ruolo WSUS, schermata Content location con il percorso di archiviazione aggiornamenti impostato su D:\WSUS

Il sistema impiegherà alcuni minuti per completare l’installazione. Al termine, una voce WSUS apparirà in Server Manager.

Installazione tramite PowerShell (raccomandata per MSP e automazione)

PowerShell consente di scriptare l’installazione e ripeterla in modo coerente su più server.

Con Windows Internal Database (WID):

# Installa il ruolo WSUS con backend WID
Install-WindowsFeature -Name UpdateServices, UpdateServices-WidDB `
    -IncludeManagementTools -Restart:$false

# Configurazione post-installazione: percorso del contenuto
# Nota: --% disabilita il parsing di PowerShell per il resto della riga,
# evitando problemi di gestione delle virgolette nel passaggio di argomenti a wsusutil.exe
& 'C:\Program Files\Update Services\Tools\WsusUtil.exe' postinstall --% CONTENT_DIR=D:\WSUS

Con SQL Server (raccomandato per MSP e > 500 client):

# SQL Server deve essere preinstallato prima di eseguire questo script
Install-WindowsFeature -Name UpdateServices, UpdateServices-DB `
    -IncludeManagementTools

# Configurazione post-installazione: connessione all'istanza SQL
& 'C:\Program Files\Update Services\Tools\WsusUtil.exe' postinstall --% SQL_INSTANCE_NAME=SRVBLOG01\SQLEXPRESS CONTENT_DIR=D:\WSUS

Dopo il post-install, su Windows Server 2019/2022 verifica che i tipi MIME .msu e .wim siano presenti in IIS. Sono necessari per supportare la Unified Update Platform (UUP) utilizzata dagli aggiornamenti delle funzionalità per Windows 10/11 e Server 2022/2025. Se mancanti, aggiungi i tipi MIME tramite IIS Manager (MIME Types → Add…) o tramite PowerShell usando Add-WebConfigurationProperty. Su Windows Server 2025 sono inclusi di default.

2. Configurazione iniziale di WSUS

La configurazione iniziale può essere eseguita tramite la procedura guidata di configurazione WSUS o tramite PowerShell. Entrambi i metodi sono descritti di seguito.

Configurazione tramite GUI (procedura guidata di configurazione WSUS)

Dopo l’installazione, apri la console WSUS da Server Manager:

Dashboard di Windows Server Update Services aperto in Server Manager dopo l'installazione del ruolo

Al primo avvio viene presentata la procedura guidata di configurazione WSUS. Clicca su Next per iniziare:

Procedura guidata di configurazione WSUS, schermata Before You Begin mostrata al primo avvio

Seleziona la connessione upstream. Per il primo server WSUS, scegli Synchronize from Microsoft Update:

Procedura guidata di configurazione WSUS con Synchronize from Microsoft Update selezionato come origine upstream

Configura le impostazioni del proxy se presente nella tua rete:

Procedura guidata di configurazione WSUS, schermata Specify Proxy Server per la connessione di sincronizzazione

Clicca su Start Connecting e attendi il completamento della sincronizzazione iniziale dei metadati (potrebbe richiedere diversi minuti):

Procedura guidata di configurazione WSUS, schermata Connect to Upstream Server con il pulsante Start Connecting

Seleziona solo le lingue necessarie (tipicamente solo inglese, o inglese più la lingua locale):

Procedura guidata di configurazione WSUS, schermata Choose Languages per limitare le lingue degli aggiornamenti scaricati

Seleziona solo i prodotti presenti nel tuo ambiente. Non abilitare tutto.

Seleziona le classificazioni degli aggiornamenti:

Procedura guidata di configurazione WSUS, schermata Choose Classifications con categorie come Critical e Security Updates

Configura la pianificazione della sincronizzazione automatica (raccomandato: una volta al giorno alle 03:00):

Procedura guidata di configurazione WSUS, schermata Set Sync Schedule che configura una sincronizzazione automatica giornaliera

La procedura guidata di configurazione è completa:

Procedura guidata di configurazione WSUS, schermata Finished che conferma il completamento della configurazione iniziale

Configurazione tramite PowerShell

# Ottieni l'oggetto server WSUS
$wsus = Get-WsusServer -Name 'SRVBLOG01' -PortNumber 8530

# Configura l'origine upstream (Microsoft Update)
$wsusConfig = $wsus.GetConfiguration()
$wsusConfig.SyncFromMicrosoftUpdate = $true
$wsusConfig.Save()

# --- Sincronizzazione iniziale dei metadati per popolare l'elenco prodotti/classificazioni ---
$sub = $wsus.GetSubscription()
$sub.StartSynchronization()

# Attendi il completamento della sincronizzazione con un loop appropriato (nessun sleep hardcoded)
do {
    Start-Sleep -Seconds 30
    $status = $sub.GetSynchronizationStatus()
    Write-Host "Sync status: $status" -ForegroundColor Cyan
} while ($status -eq 'Running')

# Verifica il risultato dell'ultima sincronizzazione prima di continuare
$lastResult = $sub.GetLastSynchronizationInfo().Result
if ($lastResult -ne 'Succeeded') {
    throw "Initial synchronization failed with result: $lastResult"
}

# --- Abilita solo i prodotti presenti nel tuo ambiente ---
Get-WsusProduct | Where-Object {
    $_.Product.Title -in @(
        'Windows Server 2025',
        'Windows Server 2022',
        'Windows Server 2019',
        'Windows 11',
        'Windows 10',
        'Microsoft 365 Apps for Enterprise',
        'Microsoft Defender Antivirus'
    )
} | Set-WsusProduct

# --- Selezione delle classificazioni ---
Get-WsusClassification | Where-Object {
    $_.Classification.Title -in @(
        'Critical Updates',
        'Security Updates',
        'Definition Updates',
        'Update Rollups',
        'Service Packs'
    )
} | Set-WsusClassification

# --- Pianifica la sincronizzazione giornaliera alle 03:00 ---
$sub.SynchronizeAutomatically = $true
$sub.SynchronizeAutomaticallyTimeOfDay = [TimeSpan]'03:00:00'
$sub.NumberOfSynchronizationsPerDay = 1
$sub.Save()


3. Configurazione dei client tramite Group Policy

Le Group Policy sono il metodo standard per indirizzare i client Windows verso il server WSUS.

Nota: in Windows 10/11 e Windows Server 2016+, il percorso GPO per Windows Update è stato riorganizzato rispetto alle versioni precedenti.

Configurazione tramite GUI (Group Policy Management Editor)

Apri Group Policy Management, crea una nuova GPO e collegala alla OU contenente i computer da gestire con WSUS:

Console Group Policy Management che crea e collega una nuova GPO alla OU di destinazione dal menu contestuale

Nel Group Policy Management Editor, naviga su Computer Configuration > Administrative Templates > Windows Components > Windows Update.

Su Windows 10/11 e Server 2016+, troverai due sottocartelle: Manage end user experience e Manage updates offered from Windows Update (le policy pertinenti sono distribuite tra di esse come descritto di seguito).

Apri Configure Automatic Updates e configuralo come segue:

  • Stato: Enabled
  • Opzione: 4 – Auto download and schedule the install
  • Giorno di installazione pianificato: Every day
  • Orario di installazione pianificato: 03:00
Group Policy Management Editor — Policy Configure Automatic Updates impostata su Enabled, opzione 4 (Auto download and schedule the install), pianificata ogni giorno alle 03:00

Apri Specify intranet Microsoft update service location e inserisci l’indirizzo del server WSUS con la porta 8530:

Group Policy Management Editor che mostra le policy di Windows Update, con Specify intranet Microsoft update service location selezionata

Impostazione critica per Windows 10/11: abilita la policy Do not connect to any Windows Update Internet locations (impostala su Enabled).

Policy Specify intranet Microsoft update service location abilitata, che indirizza i client al server WSUS sulla porta 8530

Senza questa impostazione, Windows 10/11 e Server 2016+ eseguono un dual-scan verso Microsoft Update, bypassando parzialmente WSUS. Questa è la causa più comune di malfunzionamenti di WSUS negli ambienti moderni.

Apri Enable client-side targeting e specifica il nome del gruppo WSUS a cui appartengono i computer:

Group Policy Management Editor con Enable client-side targeting selezionato tra le policy di Windows Update
Policy Enable client-side targeting abilitata, con il nome del gruppo di destinazione WSUS impostato per il computer

Configurazione tramite PowerShell

# Crea e collega la GPO alla OU
$gpoName = 'WSUS-Client-Configuration'
$ou      = 'OU=WSUS_tutorial,DC=THESOLVING,DC=local'
$wsusUrl = 'http://SRVBLOG01:8530'

New-GPO -Name $gpoName | New-GPLink -Target $ou

# Imposta i valori di registro tramite GPO
$basePath = 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate'

Set-GPRegistryValue -Name $gpoName -Key $basePath `
    -ValueName 'WUServer' -Type String -Value $wsusUrl
Set-GPRegistryValue -Name $gpoName -Key $basePath `
    -ValueName 'WUStatusServer' -Type String -Value $wsusUrl
# Disabilita il dual-scan - critico per Windows 10/11 e Server 2016+
Set-GPRegistryValue -Name $gpoName -Key $basePath `
    -ValueName 'DisableDualScan' -Type DWord -Value 1
Set-GPRegistryValue -Name $gpoName -Key "$basePath\AU" `
    -ValueName 'UseWUServer' -Type DWord -Value 1
Set-GPRegistryValue -Name $gpoName -Key "$basePath\AU" `
    -ValueName 'AUOptions' -Type DWord -Value 4

4. Gruppi di computer e regole di approvazione

I gruppi di computer in WSUS consentono un controllo granulare su quando e quali aggiornamenti vengono distribuiti. Una strategia di distribuzione graduale riduce il rischio che una patch problematica impatti tutti i sistemi contemporaneamente.

Struttura dei gruppi raccomandata per MSP

Apri WSUS Options e clicca su Computers.

Seleziona Use Group Policy per assegnare i computer ai gruppi.

Dal pannello WSUS, crea un nuovo gruppo di computer usando la finestra di dialogo Add Computer Group:

Console WSUS, finestra di dialogo Add Computer Group che crea un nuovo gruppo di computer per la distribuzione graduale degli aggiornamenti
GruppoSistemiApprovazione
Pilot / Test Lab5–10% dei sistemi, macchine di testImmediatamente dopo il Patch Tuesday
WorkstationTutti i client Windows 10/117 giorni dopo la validazione Pilot
Server – Non criticiFile server, print server7 giorni dopo la validazione Pilot
Server – CriticiDomain Controller, Exchange, SQL14 giorni dopo la validazione Pilot
Non assegnatiGruppo predefinitoNessun aggiornamento approvato – usare come alert per macchine non classificate

PowerShell: creare gruppi e configurare l’approvazione automatica per il Pilot

$wsus = Get-WsusServer -Name 'SRVBLOG01' -PortNumber 8530

# Crea i gruppi di computer (idempotente: salta se già presenti)
$groups = @('Pilot', 'Workstations', 'Servers-NonCritical', 'Servers-Critical')
foreach ($g in $groups) {
    if (-not ($wsus.GetComputerTargetGroups() | Where-Object Name -eq $g)) {
        $wsus.CreateComputerTargetGroup($g) | Out-Null
    }
}

# Regola di approvazione automatica per Critical e Security Updates sul gruppo Pilot
$approvalRule = $wsus.CreateInstallApprovalRule('AutoApprove-Pilot')

# Costruisci la ComputerTargetGroupCollection
# (il setter richiede una Collection tipizzata, non un singolo oggetto o un array generico)
$pilot = $wsus.GetComputerTargetGroups() | Where-Object { $_.Name -eq 'Pilot' }
$groupCollection = New-Object Microsoft.UpdateServices.Administration.ComputerTargetGroupCollection
$groupCollection.Add($pilot) | Out-Null
$approvalRule.SetComputerTargetGroups($groupCollection)

# Costruisci la UpdateClassificationCollection (stesso motivo)
$classifications = $wsus.GetUpdateClassifications() | Where-Object {
    $_.Title -in @('Critical Updates', 'Security Updates')
}
$classificationCollection = New-Object Microsoft.UpdateServices.Administration.UpdateClassificationCollection
foreach ($c in $classifications) { $classificationCollection.Add($c) | Out-Null }
$approvalRule.SetUpdateClassifications($classificationCollection)

$approvalRule.Enabled = $true
$approvalRule.Save()

5. Manutenzione di WSUS (critica)

Server Cleanup Wizard tramite PowerShell

$wsus = Get-WsusServer -Name 'SRVBLOG01' -PortNumber 8530

$cleanupScope = New-Object Microsoft.UpdateServices.Administration.CleanupScope
$cleanupScope.DeclineExpiredUpdates       = $true
$cleanupScope.DeclineSupersededUpdates    = $true
$cleanupScope.CleanupObsoleteUpdates      = $true
$cleanupScope.CleanupUnneededContentFiles = $true
$cleanupScope.CleanupObsoleteComputers    = $true
$cleanupScope.CompressUpdates             = $true

$cleanupManager = $wsus.GetCleanupManager()
$result = $cleanupManager.PerformCleanup($cleanupScope)
Write-Host "Disk space freed: $([math]::Round($result.DiskSpaceFreed/1GB, 2)) GB"

Manutenzione del database (WID)

Il database WSUS accumula una grave frammentazione degli indici nel tempo. Su WID, usa sqlcmd per eseguire il reindex mensile:

# Salva il file SQL come C:\Scripts\WSUS-DBMaintenance.sql
# Poi pianifica l'esecuzione mensile tramite Task Scheduler

sqlcmd -S np:\\.\pipe\MICROSOFT##WID\tsql\query `
    -E -i 'C:\Scripts\WSUS-DBMaintenance.sql' `
    -o 'D:\Logs\wsus-db-maintenance.log'

# Nota: la named pipe WID è la stessa su tutte le versioni di Windows Server supportate da WSUS
# dalla 2012 in poi (2012, 2016, 2019, 2022, 2025).
# La pipe legacy MSSQL$MICROSOFT##SSEE era usata solo su Server 2008/2008 R2
# e precedenti - NON si applica ai deployment WSUS moderni.

Contenuto di WSUS-DBMaintenance.sql:

USE SUSDB;
-- Ricostruisci tutti gli indici su tutte le tabelle
EXEC sp_msforeachtable 'ALTER INDEX ALL ON ? REBUILD';
-- Aggiorna le statistiche
EXEC sp_msforeachtable 'UPDATE STATISTICS ?';

sp_msforeachtable è una stored procedure non documentata ma ampiamente utilizzata in ambienti di produzione. Per ambienti con policy SQL più restrittive, è possibile utilizzare un cursore esplicito su sys.tables come alternativa.

Limitazioni di WSUS e alternative moderne

WSUS è uno strumento maturo e affidabile per gli ambienti tradizionali con Active Directory, ma presenta importanti limitazioni da considerare nel 2026:

  • Deprecato: Microsoft ha annunciato la deprecazione nel 2024 e non sono previste nuove funzionalità
  • Nessun patching di applicazioni di terze parti: Adobe, Chrome, 7-Zip, Java e qualsiasi applicazione non Microsoft non possono essere gestite con WSUS
  • Nessun supporto per dispositivi Azure AD / Entra ID: i dispositivi gestiti da Intune non possono essere gestiti da WSUS
  • Aggiornamenti cumulativi molto grandi: gli aggiornamenti cumulativi per Windows 10/11 e Server 2019/2022 raggiungono spesso 500 MB – 3 GB ciascuno, mettendo sotto stress i database WSUS basati su WID

Prima di consultare la tabella comparativa, una nota su Microsoft Configuration Manager: Microsoft Configuration Manager (precedentemente noto come MECM/SCCM) è la soluzione on-premises di Microsoft per la gestione avanzata degli endpoint. Supporta ambienti ibridi tramite Cloud Management Gateway (CMG) e il patching di applicazioni di terze parti tramite System Center Updates Publisher (SCUP).

Confronto tra soluzioni di patch management

SoluzioneOn-premisesCloud/IbridoPatching di terze partiAmbito raccomandato
WSUSNoNoAmbienti AD on-prem esistenti, reti offline / air-gapped
Windows AutopatchNoNoEnterprise / E3+E5, orchestrazione completamente gestita degli aggiornamenti Windows + M365 Apps
WUfB + IntuneNoNoEndpoint gestiti in cloud (Entra ID joined / hybrid joined)
Azure Update ManagerNoLimitato (tramite script personalizzati)Flotte di server (VM Azure, server Arc-enabled)
Microsoft Configuration Manager (precedentemente MECM/SCCM)Sì (CMG)Sì (tramite SCUP / Patch My PC)Enterprise on-prem / ibrido con esigenze di personalizzazione avanzata
NinjaOne / Datto RMM / AteraMSP / ambienti eterogenei con patching cross-platform

A partire dalla fine del 2024, Microsoft ha consolidato le sue raccomandazioni: Windows Autopatch e Intune per la gestione degli aggiornamenti dei client, Azure Update Manager per la gestione degli aggiornamenti dei server. Questi strumenti non sostituiscono WSUS in scenari offline o air-gapped, dove WSUS resta l’unica opzione Microsoft praticabile. 

Sicurezza di WSUS

CVE-2025-59287 – RCE critica (CVSS 9.8)

Nell’ottobre 2025, Microsoft ha divulgato CVE-2025-59287, una vulnerabilità critica di deserializzazione non sicura nel ruolo server WSUS. Consente a un attaccante remoto non autenticato di eseguire codice arbitrario con privilegi SYSTEM su qualsiasi server con il ruolo WSUS abilitato.

L’aggiornamento del Patch Tuesday di ottobre 2025 non ha risolto completamente il problema. Microsoft ha rilasciato una patch di emergenza fuori ciclo il 23 ottobre 2025. CISA ha aggiunto CVE-2025-59287 al suo catalogo Known Exploited Vulnerabilities entro 24 ore; exploit proof-of-concept pubblici e exploitation attivo in the wild (incluso il deployment di infostealer) sono stati segnalati nella stessa settimana.

Interessati: Windows Server 2012, 2012 R2, 2016, 2019, 2022, 2025 – qualsiasi server con il ruolo server WSUS abilitato. Il ruolo non è abilitato di default; solo i server WSUS sono vulnerabili.

Azione richiesta

Applicare la patch immediatamente. Installa l’aggiornamento fuori ciclo per la tua versione di Windows Server. Riferimento: MSRC update guide – CVE-2025-59287.

Verifica l’esposizione. WSUS non dovrebbe mai essere raggiungibile da Internet. Blocca il traffico in entrata TCP 8530/8531 al perimetro e limita l’accesso interno alla VLAN di gestione e alle subnet dei client che ne hanno effettivamente bisogno.

Se non è possibile applicare la patch immediatamente, disabilita il ruolo WSUS sui server interessati o blocca completamente il traffico in entrata 8530/8531 fino a quando la patch non può essere applicata.

Troubleshooting

I client non comunicano con WSUS

# Forza la ri-registrazione del client (eseguire sul client)
# Su Windows 10/11 e Server 2016+, usa UsoClient al posto di wuauclt
UsoClient StartScan

# Verifica che la GPO sia applicata correttamente
gpresult /R | Select-String 'WSUS'
reg query 'HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate' /v WUServer

# Visualizza il log di Windows Update
Get-WindowsUpdateLog -LogPath 'C:\Temp\WindowsUpdate.log'

Console WSUS lenta o in timeout

Quasi sempre causato dalla frammentazione del database. Esegui la manutenzione del database descritta nello Step 5. Se le prestazioni non migliorano entro 24 ore, valuta la migrazione da WID a SQL Server.

La sincronizzazione fallisce – errori HTTP 400 o SSL/TLS

# Controlla i log del servizio WSUS
# PowerShell 7+ e Server 2022/2025 (raccomandato)
Get-WinEvent -ProviderName 'Windows Server Update Services' -MaxEvents 50 |
    Format-List TimeCreated, Id, Message

# PowerShell 5.1 / Server 2019 e precedenti
# Get-EventLog -LogName Application -Source 'Windows Server Update Services' `
#     -Newest 50 | Format-List

# Solo per PowerShell 5.1 / .NET Framework (Server 2016/2019)
# Su PowerShell 7+ e Server 2022/2025, TLS 1.2 è abilitato di default - non necessario
# Se sei su Server 2016/2019 con PS5.1, decommenta la riga seguente:
# [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

# Fix di registro per TLS 1.2 su Server 2012 R2 (se ancora presente nell'ambiente)
Set-ItemProperty `
    -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' `
    -Name 'Enabled' -Value 1 -Type DWord

Aggiornamenti approvati ma non installati sui client

Controlla questi punti in ordine:

  1. Deadline non impostata: le approvazioni senza deadline potrebbero non installarsi automaticamente in tutti gli scenari
  2. Servizio Windows Update disabilitato: wuauserv deve essere in stato Running sul client
  3. Riavvio in sospeso: molti aggiornamenti richiedono un riavvio precedente prima che nuovi aggiornamenti possano essere installati
  4. Dual-scan attivo: verifica che la policy DisableDualScan sia applicata (vedi Step 3)

Gli aggiornamenti delle funzionalità (Windows 10/11, Server 2022/2025) non si scaricano sui client

Sintomo: gli aggiornamenti cumulativi si installano correttamente, ma gli aggiornamenti delle funzionalità (es. 23H2 → 24H2) restano bloccati a “downloading 0%” sui client. La causa è quasi sempre: tipi MIME .msu e .wim mancanti nel sito IIS di WSUS, necessari per il protocollo Unified Update Platform (UUP).

# Aggiungi i tipi MIME richiesti tramite PowerShell (sul server WSUS)
Import-Module WebAdministration

Add-WebConfigurationProperty -PSPath 'IIS:\Sites\WSUS Administration' `
    -Filter 'system.webServer/staticContent' -Name '.' `
    -Value @{ fileExtension='.msu'; mimeType='application/octet-stream' }

Add-WebConfigurationProperty -PSPath 'IIS:\Sites\WSUS Administration' `
    -Filter 'system.webServer/staticContent' -Name '.' `
    -Value @{ fileExtension='.wim'; mimeType='application/octet-stream' }

iisreset

WSUS nel 2026: ancora valido, con un orizzonte chiaro

WSUS resta una soluzione di patch management valida e conveniente per gli ambienti on-premises con Active Directory nel 2026, nonostante la deprecazione annunciata da Microsoft. Con un dimensionamento adeguato, un backend SQL Server per i deployment più grandi, gruppi di computer strutturati, regole di approvazione automatica e manutenzione mensile del database, WSUS può gestire in modo affidabile da decine a migliaia di endpoint. Con la CVE-2025-59287 critica patchata e l’accesso di rete correttamente limitato, WSUS resta una scelta difendibile per tutto il ciclo di vita di Windows Server 2025 (supporto mainstream fino al 2029, esteso fino al 2034).

Per le organizzazioni che si stanno spostando verso endpoint gestiti in cloud, o MSP che gestiscono ambienti eterogenei con requisiti di patching di applicazioni di terze parti, è fortemente raccomandato valutare Windows Update for Business con Intune o una piattaforma RMM moderna come layer primario di patch management.

Read related articles