La differenza tra file PST e OST è fondamentale per comprendere come Outlook gestisce la posta elettronica a seconda del tipo di account configurato. Ecco una spiegazione chiara e tecnica:
Che cosa sono PST e OST?
Tipo di file | Estensione | Significato | Descrizione tecnica |
---|---|---|---|
PST | .pst | Personal Storage Table | File usato per archiviare localmente email, calendari, contatti, ecc. su PC. |
OST | .ost | Offline Storage Table | File usato per sincronizzare i dati tra Outlook e il server Exchange o M365. |
Quando vengono utilizzati?
Scenario di utilizzo | File generato |
---|---|
Account POP3 o archiviazione manuale | PST |
Account IMAP, Exchange, Outlook.com, Microsoft 365 | OST |
Differenze principali
Caratteristica | PST | OST |
---|---|---|
Tipo di account associato | POP3 o archiviazione locale | Exchange, Microsoft 365, Outlook.com |
Funzionalità offline | Dati permanenti, non sincronizzati | Sì, lavora offline e si sincronizza online |
Posizione del file | Personalizzabile dall’utente | Posizione predefinita gestita da Outlook |
Sincronizzazione con server | ❌ No | ✅ Sì |
Utilizzabile su altri PC | ✅ Copiabile e riutilizzabile | ⚠️ No, legato al profilo e alla cache locale |
Recupero dati dopo eliminazione account | ✅ Possibile | ⚠️ Difficile, se l’account viene rimosso |
Backup consigliato? | ✅ Sì | ⚠️ Sì, ma serve Exchange Backup o esportazione |
Dove si trovano i file?
- PST:
C:\Users\%username%\Documents\Outlook Files\*.pst
- OST:
C:\Users\%username%\AppData\Local\Microsoft\Outlook\*.ost
Best Practices per Sysadmin
- PST: Usare solo come archivio. Evitare come file di lavoro in ambienti aziendali.
- OST: Mai copiarlo tra PC, ricreare sincronizzazione se necessario.
- Backup: Automatizzare l’esportazione dei file PST per posta archiviata.
- OneDrive: Non sincronizzare PST/OST su OneDrive, rischio corruzione !
Sicurezza
- Entrambi i file possono essere protetti con password, ma non sono cifrati nativamente. Per ambienti aziendali, preferire la protezione a livello di disco (BitLocker) o Outlook con Information Rights Management (IRM).
Conclusione
In breve | OST | PST |
---|---|---|
Per sincronizzazione server | ✅ | ❌ |
Per backup/archiviazione manuale | ❌ | ✅ |
Script PowerShell per trovare tutti i file PST e OST presenti su un computer o all’interno di una rete aziendale (se eseguito da un amministratore con i permessi adeguati).
🔍 Script PowerShell – Ricerca file PST e OST
Versione base: ricerca locale (utente corrente)
powershell# Cerca file PST e OST nel profilo utente corrente
Get-ChildItem -Path "C:\Users\$env:USERNAME\" -Recurse -Include *.pst, *.ost -ErrorAction SilentlyContinue |
Select-Object FullName, Length, LastWriteTime |
Format-Table -AutoSize
🖥️ Versione avanzata: ricerca su tutti i profili utente (locale)
powershell# Cerca file PST e OST in tutti i profili utente locali
$paths = Get-ChildItem -Path "C:\Users" -Directory | Where-Object { $_.Name -notlike "Public" }
foreach ($user in $paths) {
Write-Host "`nAnalizzando: $($user.FullName)" -ForegroundColor Cyan
Get-ChildItem -Path "$($user.FullName)" -Recurse -Include *.pst, *.ost -ErrorAction SilentlyContinue |
Select-Object FullName, Length, LastWriteTime |
Format-Table -AutoSize
}
Versione enterprise: ricerca su PC remoti in rete (con WinRM abilitato)
powershell# Lista dei computer (modifica con i nomi host reali)
$computers = @("PC01", "PC02", "PC03")
foreach ($comp in $computers) {
Write-Host "`nConnessione a: $comp" -ForegroundColor Yellow
Invoke-Command -ComputerName $comp -ScriptBlock {
Get-ChildItem -Path "C:\Users" -Recurse -Include *.pst, *.ost -ErrorAction SilentlyContinue |
Select-Object FullName, Length, LastWriteTime
} -ErrorAction SilentlyContinue
}
Extra: esportazione su CSV
Aggiungi questa riga dopo il blocco Get-ChildItem
per esportare i risultati:
powershell| Export-Csv -Path "C:\Report_PST_OST.csv" -NoTypeInformation -Encoding UTF8
Conclusione
Questo script è utile per:
- Verificare il corretto utilizzo dei file PST.
- Trovare file OST per troubleshooting.
- Mappare percorsi da escludere da OneDrive/backup.
- Implementare policy aziendali di conservazione.
script PowerShell completo che:
- Scansiona i file .pst e .ost nel profilo utente (o in tutti i profili).
- Verifica se superano una soglia configurabile (es. 5 GB).
- Mostra un alert a video ed esporta un report CSV.
Script PowerShell con soglia e alert (default: 5 GB)
powershell# Soglia in byte (5 GB = 5 * 1024^3)
$thresholdGB = 5
$thresholdBytes = $thresholdGB * 1GB
# Percorso del report
$reportPath = "C:\Report_PST_OST_Superiore_5GB.csv"
$report = @()
# Scansione profili utenti
$profiles = Get-ChildItem -Path "C:\Users" -Directory | Where-Object { $_.Name -notin @("Public", "Default", "Default User") }
foreach ($profile in $profiles) {
$files = Get-ChildItem -Path $profile.FullName -Recurse -Include *.pst, *.ost -ErrorAction SilentlyContinue
foreach ($file in $files) {
if ($file.Length -gt $thresholdBytes) {
Write-Host "`n FILE GRANDE: $($file.FullName)" -ForegroundColor Red
Write-Host "Dimensione: $([Math]::Round($file.Length / 1GB, 2)) GB"
$report += [pscustomobject]@{
File = $file.FullName
DimensioneGB = [Math]::Round($file.Length / 1GB, 2)
UltimaModifica = $file.LastWriteTime
ProfiloUtente = $profile.Name
}
}
}
}
# Esporta se ci sono file sopra soglia
if ($report.Count -gt 0) {
$report | Export-Csv -Path $reportPath -NoTypeInformation -Encoding UTF8
Write-Host "`n📄 Report salvato in: $reportPath" -ForegroundColor Green
} else {
Write-Host "`n Nessun file PST/OST sopra la soglia di $thresholdGB GB trovato." -ForegroundColor Green
}
Cosa puoi modificare facilmente
- Cambia
$thresholdGB = 5
per impostare un’altra soglia. - Cambia
C:\Users
se vuoi cercare solo in un profilo specifico. - Usa in Group Policy o Intune come script di monitoraggio periodico.
Best practice suggerite
- Blocca uso dei file
.pst
in ambienti aziendali tramite GPO:User Configuration > Admin Templates > Microsoft Outlook > Disable PST
- Evita backup/sync via OneDrive su questi file (imposta esclusione).