In un’epoca in cui la privacy digitale è sempre più al centro dell’attenzione, sapere come gestire i propri dati di navigazione è fondamentale. Google Chrome, come la maggior parte dei browser moderni, conserva una cronologia dettagliata delle attività online. Ma cosa succede se vogliamo cancellarla in modo rapido, silenzioso e automatizzabile, magari senza nemmeno aprire il browser?
In questo articolo ti mostro come farlo con uno script PowerShell semplice ma efficace, pensato per utenti Windows che vogliono avere il pieno controllo del proprio sistema. Nessuna estensione, nessun clic manuale: solo un file .ps1 e pochi secondi.

Questo script cancella la cronologia locale di Chrome su tutti i profili, ma non elimina la cronologia sincronizzata con l’account Google. Se sei collegato con un account Google, la cronologia online rimarrà intatta.
Perché usare PowerShell per cancellare la cronologia?
Ecco alcuni scenari in cui questo approccio può fare la differenza:
- Vuoi automatizzare la pulizia della cronologia a ogni avvio o spegnimento del PC.
- Gestisci più profili utente e vuoi applicare la pulizia in modo centralizzato.
- Sei un docente o un tecnico e vuoi offrire agli studenti uno script didattico per comprendere la gestione dei dati locali.
- Vuoi evitare strumenti di terze parti e mantenere il controllo completo sul processo.
Cosa fa lo script?
Lo script PowerShell che ti propongo:
- Verifica se Chrome è in esecuzione e, in tal caso, interrompe l’operazione.
- Controlla se il file di cronologia (
History) esiste nella directory utente. - Se il file è presente, lo elimina forzatamente.
- Registra ogni passaggio in un file di log sul desktop, utile per audit o debugging.
Come usarlo in 3 semplici passaggi
1. Chiudi Google Chrome
Prima di tutto, assicurati che Chrome non sia aperto. Il file di cronologia è bloccato durante l’esecuzione del browser, quindi lo script non potrà agire se il processo è attivo.
2. Crea lo script .ps1
Apri il Blocco Note, incolla il codice seguente e salvalo come <<cancella_cronologia.ps1>> sul desktop o dove preferisci:
# Percorso base
$basePath = "$env:LOCALAPPDATA\Google\Chrome\User Data"
# Percorso del log
$logPath = "$env:USERPROFILE\Desktop\chrome_cleanup_log.txt"
# Funzione di logging
function Log-Cleanup {
param([string]$message)
Add-Content -Path $logPath -Value "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - $message"
}
# Verifica se Chrome è in esecuzione
$chromeRunning = Get-Process -Name "chrome" -ErrorAction SilentlyContinue
if ($chromeRunning) {
Write-Host "Chrome è in esecuzione. Chiudilo prima di procedere."
Log-Cleanup "Interrotto: Chrome era in esecuzione."
exit
}
# Cerca tutte le cartelle con file History
$profiles = Get-ChildItem -Path $basePath -Directory | Where-Object {
Test-Path "$($_.FullName)\History"
}
# Elimina la cronologia da ogni profilo trovato
foreach ($profile in $profiles) {
$historyFile = "$($profile.FullName)\History"
try {
Remove-Item $historyFile -Force
Write-Host "Cronologia eliminata da: $($profile.Name)"
Log-Cleanup "Cronologia eliminata da: $($profile.Name)"
} catch {
Write-Host "Errore su $($profile.Name): $_"
Log-Cleanup "Errore su $($profile.Name): $_"
}
}
if ($profiles.Count -eq 0) {
Write-Host "Nessun file di cronologia trovato."
Log-Cleanup "Nessun file di cronologia trovato."
}
3. Esegui lo script
Fai clic destro sul file .ps1 e seleziona <<Esegui con PowerShell>>. Vedrai un messaggio a video che ti conferma l’esito dell’operazione. In parallelo, verrà creato un file di log sul desktop con tutti i dettagli.

Ulteriori informazioni:
Questo script è un piccolo esempio di come PowerShell possa diventare uno strumento potente per la gestione quotidiana del sistema. In pochi secondi, puoi eliminare la cronologia di Chrome in modo silenzioso, tracciabile e senza dipendere da interfacce grafiche o estensioni.

