Come cancellare la cache delle Group Policy su un computer Windows
Le Group Policy (GPO) sono strumenti essenziali nell’amministrazione di un ambiente Windows, permettendo agli amministratori di rete di applicare configurazioni e restrizioni ai dispositivi aziendali.
Ho già avuto modo in passato di trattare l’argomento nella mia guida Funzionamento delle Group Policy in Windows Server: facciamo un po’ di chiarezza – ICT Power. Questa guida fornisce una panoramica completa sul funzionamento delle Group Policy in Windows Server, offrendo chiarimenti su aspetti fondamentali e avanzati della loro gestione.
Tuttavia, a volte possono verificarsi problemi dovuti alla cache delle GPO memorizzata localmente su un computer. In questi casi, svuotare la cache può aiutare a risolvere errori di applicazione delle policy o problemi di aggiornamento.
Quanto tempo rimangono in cache le GPO?
Le Group Policy rimangono in cache localmente sul computer fino al successivo aggiornamento delle policy. Tuttavia, il loro comportamento varia a seconda della configurazione e del contesto:
- Domain Controller: le policy vengono riapplicate ogni 5 minuti per garantire una sincronizzazione costante.
- Computer membri del dominio: il refresh avviene ogni 90 minuti, con una variazione casuale fino a 30 minuti per distribuire il carico sul domain controller.
- Forzatura manuale: è possibile aggiornare immediatamente le policy eseguendo il comando gpupdate /force
Questo obbliga il computer a ricaricare le policy direttamente dal domain controller, ignorando la cache locale.
Se una macchina è offline, continuerà ad applicare l’ultima versione delle policy memorizzata nella cache locale fino a quando non potrà riconnettersi al dominio e ricevere aggiornamenti.
Cosa succede se non ci sono policy aggiornate?
Se non ci sono policy aggiornate, il sistema verifica con il domain controller se esistono modifiche. Se non trova aggiornamenti, continua a utilizzare le impostazioni attuali senza applicare alcuna modifica. Durante questo processo, il computer confronta la versione locale delle GPO con quella presente nel domain controller. Se le versioni corrispondono, le policy non vengono ricaricate, evitando inutili elaborazioni.
Le policy rimangono memorizzate in cache e vengono applicate come impostato fino a un eventuale aggiornamento. Se il computer è offline, utilizzerà l’ultima versione salvata fino alla prossima connessione al dominio. Questo meccanismo ottimizza le prestazioni, evitando un consumo inutile di CPU e traffico di rete. Tuttavia, nel caso delle policy “tattooing”, che modificano permanentemente il registro, alcuni valori potrebbero persistere anche dopo la rimozione della GPO.
NOTA: Un esempio di policy “tattooing” è la modifica delle chiavi di registro tramite i Group Policy Preferences (GPP). A differenza delle policy tradizionali, che vengono annullate quando la GPO non è più applicata, le impostazioni delle GPP rimangono nel registro di Windows anche dopo la rimozione della policy.
Perché cancellare la cache delle GPO?
Le Group Policy possono non applicarsi correttamente per diversi motivi, tra cui:
- Modifiche recenti nelle policy che non vengono aggiornate correttamente.
- Corruzione dei file di cache delle GPO.
- Problemi di sincronizzazione con il domain controller.
Svuotare la cache delle GPO può risolvere questi problemi e garantire che il computer carichi le policy aggiornate correttamente.
Figura 1: Cache delle GPO. Se non ci sono aggiornamenti, il sistema verifica con il domain controller eventuali modifiche. Se le versioni delle GPO coincidono, le policy non vengono ricaricate, evitando elaborazioni inutili. Si noti la data di ultima modifica
Come cancellare la cache delle GPO manualmente
Aprite il Prompt dei comandi con privilegi amministrativi ed eliminate il contenuto della cartella di cache delle GPO digitando i seguenti comandi:
1 2 3 |
rd /S /Q %windir%\System32\GroupPolicy rd /S /Q %windir%\System32\GroupPolicyUsers |
Forzate l’aggiornamento delle GPO eseguendo gpupdate /force
Figura 2: Cartelle che contengono la cache delle GPO
Riavviate il computer, anche se non sempre necessario, perché un riavvio garantisce che le nuove policy vengano applicate correttamente.
Se preferite usare PowerShell, potete eseguire il seguente comando per eliminare la cache delle GPO:
1 2 3 4 5 |
Remove-Item -Path "$env:windir\System32\GroupPolicy" -Recurse -Force Remove-Item -Path "$env:windir\System32\GroupPolicyUsers" -Recurse -Force GPUpdate /Force |
Questo metodo è utile soprattutto quando si devono eseguire le operazioni su più macchine tramite script.
Figura 3: Cancellazione della cache delle GPO effettuata correttamente
Conclusioni
La cache delle Group Policy può causare problemi nell’applicazione delle configurazioni sui computer Windows. Eliminandola e forzando un aggiornamento delle policy, è possibile risolvere rapidamente eventuali problemi di sincronizzazione o corruzione dei file di configurazione. Questo processo può essere eseguito manualmente o automatizzato tramite PowerShell per una gestione più efficiente in ambienti aziendali.