Outlook : Differenza tra PST e OST

()

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 fileEstensioneSignificatoDescrizione tecnica
PST.pstPersonal Storage TableFile usato per archiviare localmente email, calendari, contatti, ecc. su PC.
OST.ostOffline Storage TableFile usato per sincronizzare i dati tra Outlook e il server Exchange o M365.

Quando vengono utilizzati?

Scenario di utilizzoFile generato
Account POP3 o archiviazione manualePST
Account IMAP, Exchange, Outlook.com, Microsoft 365OST

Differenze principali

CaratteristicaPSTOST
Tipo di account associatoPOP3 o archiviazione localeExchange, Microsoft 365, Outlook.com
Funzionalità offlineDati permanenti, non sincronizzatiSì, lavora offline e si sincronizza online
Posizione del filePersonalizzabile dall’utentePosizione 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 breveOSTPST
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:

  1. Scansiona i file .pst e .ost nel profilo utente (o in tutti i profili).
  2. Verifica se superano una soglia configurabile (es. 5 GB).
  3. 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).
/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?