Script CMD per pulire Windows Update e riavviare i servizi

Lo script cmd pulizia Windows Update arresta i servizi coinvolti, rinomina le cartelle della cache e riavvia i componenti necessari al funzionamento degli aggiornamenti. La procedura è adatta a Windows 10 e Windows 11 quando Windows Update resta bloccato, mostra errori durante il download o ripete continuamente la stessa installazione. Il file deve essere eseguito con privilegi di amministratore dal Prompt dei comandi o direttamente con un clic destro. Lo script non elimina i file personali e conserva le vecchie cartelle con estensione .old, così da rendere possibile un ripristino manuale. La procedura può cancellare i file di aggiornamento già scaricati e, in alcuni casi, modificare la cronologia visualizzata nelle Impostazioni, ma non disinstalla gli aggiornamenti già applicati.

Perché pulire la cache di Windows Update

Windows Update utilizza principalmente le cartelle SoftwareDistribution e catroot2 per gestire i download, il database locale e le firme dei pacchetti. Se uno dei file presenti in queste directory è danneggiato o incompleto, Windows 10 e Windows 11 possono mostrare codici di errore, bloccare il download o non completare la ricerca degli aggiornamenti.

Lo script cmd pulizia Windows Update interviene sui servizi e sulle cartelle normalmente coinvolti nella procedura:

  • wuauserv, il servizio principale di Windows Update.
  • BITS, il servizio che gestisce i trasferimenti in background.
  • CryptSvc, il servizio di crittografia utilizzato per verificare i pacchetti.
  • msiserver, il servizio Windows Installer, utile per evitare conflitti durante alcune operazioni di aggiornamento.
  • SoftwareDistribution, la cartella che contiene gran parte dei dati temporanei di Windows Update.
  • catroot2, la cartella utilizzata per i cataloghi e le firme dei componenti aggiornati.

Rinominare le cartelle è generalmente più prudente che cancellarle immediatamente. Windows ricrea automaticamente SoftwareDistribution e catroot2 quando i servizi necessari vengono avviati nuovamente.

Come creare lo script CMD per Windows Update

Passo 1: aprire il Blocco note

Apri il Blocco note di Windows, incolla il codice seguente e non modificarne i nomi dei servizi o delle cartelle. Il controllo iniziale verifica che il file venga eseguito con autorizzazioni amministrative.

@echo off
setlocal

net session >nul 2>&1
if not "%errorlevel%"=="0" (
echo ERRORE: esegui questo file come amministratore.
pause
exit /b 1
)

echo Arresto dei servizi di Windows Update...
net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver

echo Rinomina delle cartelle della cache...

if exist "%windir%SoftwareDistribution.old" (
rd /s /q "%windir%SoftwareDistribution.old"
)

if exist "%windir%SoftwareDistribution" (
ren "%windir%SoftwareDistribution" SoftwareDistribution.old
)

if exist "%windir%System32catroot2.old" (
rd /s /q "%windir%System32catroot2.old"
)

if exist "%windir%System32catroot2" (
ren "%windir%System32catroot2" catroot2.old
)

echo Riavvio dei servizi...
net start cryptsvc
net start bits
net start wuauserv
net start msiserver

echo.
echo Pulizia della cache di Windows Update completata.
echo Riavvia il computer prima di cercare nuovi aggiornamenti.
pause

endlocal

Passo 2: salvare il file con estensione .cmd

Nel Blocco note seleziona File > Salva con nome. Nel campo del nome inserisci, per esempio, pulizia-windows-update.cmd; nel menu del tipo di file scegli Tutti i file e imposta la codifica UTF-8 oppure ANSI. Il nome deve terminare con .cmd, non con .cmd.txt.

Salva il file in una posizione facilmente raggiungibile, come il Desktop. Se il Blocco note nasconde le estensioni conosciute, controlla in Esplora file che il nome effettivo non sia pulizia-windows-update.cmd.txt.

Passo 3: eseguire lo script come amministratore

Fai clic destro sul file .cmd e seleziona Esegui come amministratore. Quando Controllo dell’account utente chiede conferma, premi .

Il file arresta i servizi, elimina eventuali cartelle .old create da una precedente esecuzione e rinomina le cartelle correnti. L’eliminazione delle vecchie cartelle .old è prevista dallo script per evitare che il comando ren fallisca quando esiste già una copia precedente.

Passo 4: riavviare Windows e avviare Windows Update

Al termine dell’esecuzione, riavvia il computer anche se il Prompt dei comandi non segnala errori. Dopo l’accesso a Windows, apri Impostazioni > Windows Update su Windows 11 oppure Impostazioni > Aggiornamento e sicurezza > Windows Update su Windows 10, quindi seleziona Verifica disponibilità aggiornamenti.

Il primo controllo può richiedere più tempo perché Windows ricrea le cartelle della cache e scarica nuovamente i file necessari. Lo script non installa aggiornamenti da solo: risolve soltanto lo stato locale dei servizi e dei dati temporanei.

Cosa fare se un servizio non si arresta

Un messaggio come “il servizio non è stato avviato” non indica necessariamente un problema: significa che quel servizio era già fermo. Invece, un errore che impedisce di arrestare wuauserv, BITS o CryptSvc può lasciare in uso le cartelle e impedire la loro rinomina.

Se la cartella SoftwareDistribution o catroot2 non viene rinominata, chiudi Windows Update, Microsoft Store e gli strumenti di sicurezza che stanno eseguendo una scansione. Riavvia quindi Windows e lancia di nuovo lo script con il tasto destro e la voce Esegui come amministratore.

Quando un servizio resta bloccato anche dopo il riavvio, è possibile eseguire manualmente i comandi dal Terminale Windows (Amministratore) o dal Prompt dei comandi (Amministratore). I comandi devono essere inseriti uno alla volta:

net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver

Dopo aver risolto il blocco, avvia nuovamente i servizi con:

net start cryptsvc
net start bits
net start wuauserv
net start msiserver

Non interrompere forzatamente processi di sistema e non eliminare catroot2 mentre CryptSvc è ancora attivo. Se la procedura continua a fallire, il problema potrebbe riguardare file di sistema danneggiati, criteri aziendali, software di sicurezza o componenti di Windows diversi dalla cache.

Come ripristinare le cartelle originali

Lo script conserva le directory precedenti come SoftwareDistribution.old e catroot2.old. Queste copie possono essere utili per verificare i dati precedenti, ma non è necessario mantenerle dopo aver controllato che Windows Update funzioni correttamente.

Per ripristinare le cartelle, arresta prima i quattro servizi e rimuovi le directory ricreate da Windows. Questa operazione richiede attenzione perché elimina le cartelle correnti della cache:

net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver

rd /s /q "%windir%SoftwareDistribution"
rd /s /q "%windir%System32catroot2"

ren "%windir%SoftwareDistribution.old" SoftwareDistribution
ren "%windir%System32catroot2.old" catroot2

net start cryptsvc
net start bits
net start wuauserv
net start msiserver

Il ripristino ha senso solo se la nuova cache causa anomalie e se le cartelle .old sono ancora presenti. In condizioni normali è preferibile lasciare che Windows ricrei automaticamente i dati necessari.

Lo script cmd pulizia Windows Update è una procedura mirata per ripristinare cache e servizi senza rimuovere i file personali o gli aggiornamenti già installati.

Potrebbe interessarti anche:

FAQ

Sì, i servizi e i percorsi utilizzati sono compatibili con le installazioni standard di Windows 10 e Windows 11.

Sì. Senza privilegi amministrativi, Windows può impedire l’arresto dei servizi o la rinomina delle cartelle di sistema.

No. Lo script rimuove o rinomina soltanto i dati temporanei e i download della cache di Windows Update.

Windows ricrea automaticamente queste cartelle perché sono necessarie per scaricare gli aggiornamenti e verificare i relativi cataloghi.

Se la pulizia non risolve il problema, occorre verificare il codice di errore specifico e controllare l’integrità dei file di sistema, le impostazioni di rete e gli eventuali criteri aziendali.

Altri articoli di questa serie:

PDF Strumenti PDF gratis Nel browser, senza upload Apri gli strumenti