Errore Windows Update 0x80070005 su Windows Server 2022: cause, soluzioni e comandi definitivi

Su Windows Server 2022 può capitare che Windows Update fallisca con 0x80070005 (talvolta scritto 0x800070005). In questa guida trovi cause, diagnosi rapide e procedure sicure passo‑passo per ripristinare gli aggiornamenti senza reinstallare, con comandi pronti all’uso.

Indice

Panoramica del problema

Il codice 0x80070005 corrisponde a Accesso negato (Access is denied). In ambito Windows Update segnala quasi sempre una combinazione di permessi insufficienti, servizi non in esecuzione, cache corrotta o componenti di manutenzione (servicing) in stato incoerente. Su Windows Server 2022 l’errore può emergere durante la ricerca, il download o l’installazione dei cumulativi, dei .NET Update o dei driver.

Nel linguaggio comune si trova talvolta la variante 0x800070005 (con uno zero in più): è un refuso che si riferisce allo stesso problema.

Sintomi tipici

  • Windows Update segnala “Si sono verificati alcuni problemi durante l’installazione degli aggiornamenti” con codice 0x80070005.
  • Eventi nel registro WindowsUpdateClient o nel Setup riportano accesso negato a file in C:\Windows\SoftwareDistribution, a chiavi di registro o a componenti CBS.
  • Installazione del cumulativo che si avvia, arriva a una certa percentuale e poi si annulla al riavvio.
  • Su server gestiti da WSUS, la macchina vede gli aggiornamenti ma non riesce a installarli.

Perché accade

Le cause più comuni su Windows Server 2022 sono:

  • Percorsi di cache corrotti (SoftwareDistribution) o componenti di servicing in stato “sporco”.
  • Permessi o ACL alterati su cartelle di sistema o chiavi di registro.
  • Servizi necessari (BITS, Windows Update, Cryptographic Services, MSI Installer) non avviati o bloccati da endpoint protection.
  • SSU obsoleta (Servicing Stack Update) rispetto ai cumulativi richiesti.
  • Spazio su disco insufficiente, soprattutto su partizione di sistema o su system reserved.
  • GPO o criteri di sicurezza che rimuovono diritti essenziali al servizio TrustedInstaller o all’account di servizio.
  • Proxy o ispezione TLS che interrompono la catena di update/scansione.

Procedura consigliata passo‑passo

Di seguito la sequenza più efficace e a basso rischio per riportare Windows Update in stato coerente su Windows Server 2022.

  1. Eseguire lo strumento di risoluzione problemi “Windows Update” Percorso: Impostazioni → Aggiornamento e Sicurezza → Risoluzione dei problemi → Strumenti aggiuntivi → Windows Update. Lo strumento verifica servizi, criteri basilari e cache, applicando correzioni automatiche non invasive. Dopo l’esecuzione, riprovare la ricerca degli aggiornamenti.
  2. Reimpostare manualmente i componenti di Windows Update Aprire Prompt dei comandi come Amministratore ed eseguire in sequenza: net stop wuauserv net stop cryptSvc net stop bits net stop msiserver ren C:\Windows\SoftwareDistribution SoftwareDistribution.old1 net start wuauserv net start cryptSvc net start bits net start msiserver dism /online /cleanup-image /startcomponentcleanup Quindi riavviare il server. Il rinomina della cartella SoftwareDistribution forza la ricreazione della cache. Il comando StartComponentCleanup ripulisce i componenti obsoleti per recuperare spazio e consistenza.
  3. Riparare file di sistema e immagine del sistema operativo DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow DISM ripara i componenti di servicing; SFC verifica e ripristina file protetti. In caso di violazioni riparate, riavviare e ripetere la ricerca degli aggiornamenti.

Suggerimenti aggiuntivi utili

VerificaMotivoAzione consigliata
Permessi amministrativiL’errore è spesso legato a diritti insufficienti.Assicurarsi di utilizzare un account con privilegi di amministratore locale.
Servicing Stack Update (SSU)Una SSU obsoleta può impedire nuovi aggiornamenti.Installare manualmente l’ultima SSU dal Catalogo Microsoft Update.
Antivirus / Endpoint ProtectionAlcuni agenti bloccano i servizi BITS/WUA.Disattivare temporaneamente o creare eccezioni per wuauclt.exe, svchost.exe e bitsadmin.exe.
Spazio su discoAggiornamenti cumulativi richiedono diversi GB liberi.Liberare spazio o estendere la partizione di sistema.
Log dettagliatiGli eventi 0x80070005 possono nascondere cause diverse.Analizzare C:\Windows\Logs\CBS\CBS.log e C:\Windows\WindowsUpdate.log per indizi specifici.

Verifica dello stato dopo la correzione

Dopo i passaggi precedenti è utile validare rapidamente che l’infrastruttura degli aggiornamenti sia tornata operativa.

  • Forzare una nuova scansione: usoclient StartScan usoclient StartDownload usoclient StartInstall Nota: su alcune build i comandi USOClient richiedono contesto di sistema; in alternativa usare la GUI o sconfig su Server Core.
  • Controllare i servizi: sc query wuauserv sc query bits sc query cryptsvc sc query msiserver
  • Generare il log di Windows Update (se non presente in chiaro): Get-WindowsUpdateLog Il file risultante viene scritto sul Desktop dell’utente corrente.
  • Verificare gli ultimi eventi: wevtutil qe Microsoft-Windows-WindowsUpdateClient/Operational /c:50 /f:text /q:"*[System[(Level=2 or Level=3)]]"

Approfondimenti sulle cause più comuni

Permessi e ACL

Se l’accesso negato riguarda SoftwareDistribution o chiavi di registro, significa che ACL, proprietario o privilegi sono stati alterati da hardening o da software di sicurezza. Evita di forzare “take ownership” indiscriminato su C:\Windows: è una pratica rischiosa. Agisci in modo mirato, ripristinando i diritti standard solo dove necessario o rimuovendo policy conflittuali.

Servizi bloccati da sicurezza

Alcuni agenti EDR con application control o network inspection bloccano BITS/WUA o l’accesso ad URL di update. Per la diagnosi, imposta l’agente in audit e osserva i log: se l’installazione riesce, crea eccezioni permanenti per i binari e i domini di Microsoft Update. Ricorda di riabilitare la protezione al termine del test.

SSU e coerenza del servicing

Se la Servicing Stack Update è troppo vecchia, il cumulativo non si installa. L’installazione manuale della SSU più recente (seguendo l’architettura corretta) risolve spesso la condizione di stallo.

Spazio su disco

Verifica sia il volume C: che la partizione riservata al sistema. Per i cumulativi sono raccomandati almeno 6–8 GB liberi. Se lo spazio è tirato, valuta dism /online /cleanup-image /startcomponentcleanup /resetbase (da usare solo in scenari specifici, perché rende permanenti alcuni componenti e può impedire la disinstallazione di update).

GPO e criteri

Impostazioni troppo restrittive su Windows Update o sui diritti di servizio possono causare 0x80070005. Una rapida fotografia:

gpresult /r /scope computer

Controlla in particolare i percorsi di Criteri di Gruppo relativi a Windows Update e a “User Rights Assignment”.

Altri interventi utili e sicuri

I passaggi seguenti sono opzionali e vanno eseguiti solo se i precedenti non bastano o se i log indicano chiaramente il punto di rottura.

Reset di Catroot2

Se il log evidenzia problemi di verifica firma o cataloghi, oltre a fermare Cryptographic Services puoi rigenerare catroot2:

net stop cryptsvc
ren C:\Windows\System32\catroot2 catroot2.old
net start cryptsvc

Pulizia della coda BITS

Una coda BITS corrotta può bloccare i download. Da PowerShell:

Get-BitsTransfer -AllUsers | Remove-BitsTransfer

Verifica del proxy

Controlla configurazioni WinHTTP che possono differire dal proxy di sistema:

netsh winhttp show proxy

Se serve, importa le impostazioni dal browser di sistema:

netsh winhttp import proxy source=ie

Server Core e sconfig

Su installazioni Server Core, usa sconfig per configurare e avviare la ricerca/installa degli update. È spesso il modo più affidabile di interagire con Windows Update in assenza di GUI.

Controllo dei pacchetti pendenti

Per capire cosa è in sospeso:

dism /online /get-packages | findstr /i pending

Se vedi pacchetti in stato “Install Pending” per più riavvii, valuta dism /revertpendingactions (estrema ratio, potrebbe rimuovere update in attesa).

Percorso di escalation

  1. Avvio in modalità provvisoria con rete e ripetizione di DISM/SFC. In modalità ridotta è più facile sbloccare file e servizi.
  2. Creazione di un nuovo profilo amministrativo e tentativo di update da quell’account, per escludere profili corrotti.
  3. Installazione manuale del singolo KB da WSUS o dal Catalogo Microsoft Update, utile per sbloccare la catena.
  4. Ticket al supporto Microsoft allegando CBS.log e log di Windows Update compressi. Includi anche l’output di DISM /Online /Get-OSBuildInfo e un msinfo32.

Pattern ricorrenti nei log

IndicazioneProbabile causaAzione
0x80070005 - E_ACCESSDENIED su file in SoftwareDistribution\DownloadACL corrotte / antivirusReset cache, esclusione AV, controllo permessi
Fallimento CSI Transaction in CBS.logComponent Store incoerenteDISM /RestoreHealth + SFC
Errori di Catalog verificationCatroot2 danneggiataReset catroot2
Eventi di tipo Policy in WindowsUpdateClientGPO troppo restrittivaRevisione criteri, gpresult

Automazione con PowerShell

Per ambienti dove il problema si ripete, questo script esegue le azioni principali in modo idempotente. Usalo in finestre di manutenzione e dopo un backup/snapshot.

# Eseguire in PowerShell come Amministratore
Write-Host "== Ripristino Windows Update =="

$services = @("wuauserv","bits","cryptsvc","msiserver")
foreach ($s in $services) { Stop-Service -Name $s -ErrorAction SilentlyContinue }

$sd = "$env:WINDIR\SoftwareDistribution"
if (Test-Path $sd) {
$backup = "$sd.old{0:yyyyMMddHHmmss}" -f (Get-Date)
Rename-Item $sd $backup -ErrorAction SilentlyContinue
Write-Host "Cache rinominata in $backup"
}

foreach ($s in $services) { Start-Service -Name $s -ErrorAction SilentlyContinue }

dism /online /cleanup-image /startcomponentcleanup

Write-Host "== DISM RestoreHealth =="
dism /online /cleanup-image /restorehealth

Write-Host "== SFC /SCANNOW =="
sfc /scannow

Write-Host "== Avvio scansione aggiornamenti =="
try { usoclient StartScan } catch { Write-Host "USOClient non disponibile in questo contesto" } 

Domande frequenti

Serve disattivare l’antivirus?
Non è obbligatorio. È utile solo per test, quando i log mostrano chiusure su processi o cartelle di update. Se disattivi, fallo temporaneamente e prevedi eccezioni mirate in seguito.

È necessario eliminare la cartella SoftwareDistribution?
No. È sufficiente rinominarla per preservare un rollback d’emergenza e lasciare a Windows la ricreazione pulita della cache.

Qual è l’ordine corretto tra DISM e SFC?
Prima DISM /RestoreHealth, poi SFC /Scannow. DISM ripara l’immagine; SFC sfrutta quell’immagine per ripristinare i file protetti.

Posso usare wuauclt /detectnow?
È deprecato ma può ancora funzionare in alcuni contesti. Su Server 2022 è preferibile USOClient o la GUI/sconfig.

Quando contattare il supporto?
Se dopo i passaggi e l’escalation l’errore persiste o se i log evidenziano corruzioni ripetute del component store, apri un ticket allegando i log richiesti e i dettagli dell’ambiente.

Checklist rapida prima di riprovare l’installazione

ControlloComando veloceEsito atteso
Spazio su discofsutil volume diskfree c:Almeno 6–8 GB liberi
Servizi attivisc query wuauserv|find "STATE"RUNNING
Proxy WinHTTPnetsh winhttp show proxyCoerente con la policy
Component storedism /online /cleanup-image /checkhealthNessuna corruzione riparabile
Eventi recentiwevtutil qe ...WindowsUpdateClient...Niente errori di accesso

Note per ambienti gestiti

  • WSUS: verifica lo stato di approvazione, i limiti di banda BITS e la sincronizzazione. Su client che non avanzano, un’installazione manuale del KB “bloccato” sblocca spesso la coda.
  • Cluster e RU: pianifica aggiornamenti a nodi alternati, verifica spazio e riavvii pianificati per non interrompere quorum e ruoli.
  • Golden image: aggiorna regolarmente l’immagine di riferimento per evitare bootstrap con SSU troppo vecchie.

Appendice di comandi utili

winver
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
dism /online /get-osbuildinfo
dism /online /get-packages /format:table
Get-WindowsUpdateLog
gpresult /r /scope computer
bitsadmin /list /allusers
sconfig

Riepilogo operativo

Per l’errore 0x80070005 su Windows Server 2022, la triade risoluzione problemireset componentiDISM/SFC risolve la grande maggioranza dei casi. Integra con i controlli mirati della tabella (permessi, SSU, antivirus, spazio, log) e adotta l’escalation proposta qualora il problema persista. Con questi interventi mirati è in genere possibile riportare Windows Update a uno stato stabile senza formattare o reinstallare.


Procedura di riferimento rapida

  1. Avvia lo strumento di risoluzione problemi di Windows Update.
  2. Resetta i componenti (servizi stop → rinomina SoftwareDistribution → servizi start → StartComponentCleanup → riavvio).
  3. Esegui DISM /RestoreHealth e SFC /Scannow.
  4. Controlla SSU, antivirus, spazio e log con la checklist.
  5. Se necessario, applica l’escalation (modalità provvisoria, nuovo profilo, installazione manuale KB, ticket).

Nota operativa: esegui sempre questi interventi in una finestra di manutenzione, con backup o snapshot disponibili, soprattutto su server di produzione.


Indice