Risoluzione errore QuotaExceededException / MapiExceptionShutoffQuotaExceeded in migrazione Exchange Online: cause, soluzioni e playbook operativo

Stai migrando una cassetta postale storica e l’operazione si blocca subito con QuotaExceededException / MapiExceptionShutoffQuotaExceeded (ec=1245)? In questa guida trovi cause, soluzioni rapide e una procedura concreta per sbloccare la migrazione senza perdere dati.

Indice

Che cosa significa l’errore e perché compare subito

Durante una migrazione, il servizio di replica delle cassette (MRS, Mailbox Replication Service) interroga la cassetta di destinazione con chiamate di tipo GetPropertiesAll. Se la cassetta ha superato la soglia di Prohibit Send/Receive (detta anche Shutoff), Exchange blocca i comandi in ingresso e la migrazione fallisce immediatamente con:

  • QuotaExceededException
  • MapiExceptionShutoffQuotaExceeded
  • ec=1245 → codice che indica che la quota massima consentita è stata superata.

Lo scenario tipico: una mailbox attiva dal 2010, con ~300.000 messaggi, assegnata a un piano con 50 GB di spazio (Exchange Online Plan 1 o piani equivalenti). Il contenuto effettivo (inclusi elementi recuperabili) supera il limite e il sistema entra in stato di blocco completo. Finché non si rientra sotto soglia, ogni ulteriore tentativo di migrazione viene respinto.

Come riconoscerlo subito: checklist di diagnosi

Prima di toccare licenze, quote o criteri, verifica questi punti. Bastano pochi comandi PowerShell e un controllo in portale.

  1. Conferma il piano assegnato: verifica se l’utente ha un piano con quota 50 GB (Plan 1) o 100 GB (Plan 2 / M365 E3/E5). Se esiste un archivio già abilitato.
  2. Controlla dimensioni reali della mailbox primaria e degli elementi recuperabili (Recoverable Items). Spesso il superamento è causato dal “Cestino”/cartelle nascoste in crescita (litigation hold, versioning, soft-delete ecc.).
  3. Verifica lo stato del batch di migrazione: scarica le statistiche e il report per confermare il motivo d’arresto.
# Stato dei batch e delle code MRS
Get-MigrationBatch | fl
Get-MigrationStatistics | fl
Get-MigrationUserStatistics -Identity <utente> -IncludeReport | fl

Quota effettiva e dimensioni
Get-Mailbox -Identity <utente> | fl ProhibitSendQuota, ProhibitSendReceiveQuota, IssueWarningQuota
Get-Mailbox -Identity <utente> | fl UseDatabaseQuotaDefaults, RecipientTypeDetails

Dimensioni della cassetta e oggetti recuperabili
Get-MailboxStatistics -Identity <utente> | fl TotalItemSize, TotalDeletedItemSize, ItemCount
Get-Mailbox -Identity <utente> | fl ArchiveStatus, ArchiveQuota, AutoExpandingArchiveEnabled

Interpretazione rapida: se TotalItemSizeProhibitSendReceiveQuota o se UseDatabaseQuotaDefaults è impostato e la quota del database è inferiore alla dimensione reale, la migrazione si fermerà con il codice di quota superata.

Soluzione “quick win” già validata

Se serve sbloccare subito, la strada più veloce è aumentare la quota prima di rilanciare la migrazione.

AzioneEffetto
Passaggio a un piano con quota superiore (es. Exchange Online Plan 2 o Microsoft 365 E3/E5)Rimuove immediatamente il blocco “Shutoff” e consente di riavviare la migrazione.

Con Plan 2 / E3 / E5 la cassetta primaria arriva tipicamente a 100 GB e include l’archivio online, che puoi sfruttare per mantenere sotto controllo la crescita futura.

Strategie senza aumentare la quota del piano

Se non vuoi o non puoi cambiare licenza, ecco le tecniche di mitigazione che funzionano nella pratica.

Archiviazione online (Exchange Online Archive) – consigliata

  • Cosa fa: sposta automaticamente i messaggi più vecchi nell’archivio online, visibile in Outlook/OWA sotto “Archivio online – <NomeUtente>”.
  • Capacità: quota iniziale di 100 GB sull’archivio, con possibilità di auto-expanding (espansione automatica progressiva fino a capacità molto elevate). La mailbox primaria si sgonfia senza cancellare nulla.
  • Licenze: incluso in Exchange Online Plan 2 e in Microsoft 365 E3/E5; per Plan 1 è disponibile come componente aggiuntivo “Exchange Online Archiving”.

Abilitazione passo‑passo (tenant Microsoft 365)

  1. Assegna la licenza che include “Archiviazione Exchange Online” all’utente interessato.
  2. Abilita l’archivio:
    • Interfaccia: Exchange Admin Center → Utenti → Cassetta postale → ArchiviazioneAbilita.
    • PowerShell: Enable-Mailbox -Identity <utente> -Archive (Opzionale) Abilita l'espansione automatica Set-Mailbox -Identity <utente> -AutoExpandingArchive
  3. Applica criteri di conservazione per il movimento automatico dei messaggi più vecchi di X mesi/anni verso l’archivio (Retention Tags + Retention Policy).
  4. Avvia l’assistente per accelerare l’elaborazione dei tag (facoltativo): Start-ManagedFolderAssistant -Identity <utente>
  5. Monitora la riduzione finché la cassetta primaria scende sotto la quota, poi riavvia la migrazione.

Esempio di configurazione MRM (criteri di archiviazione)

# Crea un tag di archiviazione: sposta in archivio ciò che è più vecchio di 3 anni
New-RetentionPolicyTag -Name "Archiviazione-3-Anni" -Type All -RetentionEnabled $true -AgeLimitForRetention 1095 -RetentionAction MoveToArchive

Aggiungi il tag a una policy (creane una nuova o aggiorna quella esistente)

New-RetentionPolicy -Name "Policy-Archiviazione-Standard" -RetentionPolicyTagLinks "Archiviazione-3-Anni"

Associa la policy all'utente

Set-Mailbox -Identity  -RetentionPolicy "Policy-Archiviazione-Standard"

Esegui l'assistente per applicare la policy

Start-ManagedFolderAssistant -Identity  

Vantaggi chiave:

  • Nessuna cancellazione/esportazione: l’utente continua a vedere e cercare i messaggi, solo che sono ripartiti tra primaria e archivio.
  • Si stabilizza la crescita nel tempo grazie alle regole di spostamento automatico.
  • Riduci drasticamente il rischio di tornare oltre soglia dopo la migrazione.

Archiviazione locale (file PST) o eliminazioni mirate

Opzione valida quando non puoi attivare l’archivio online o vuoi un intervento “una tantum”.

  1. Esporta/archivia in PST da Outlook: File → Strumenti di pulizia → Archivia, scegliendo una data limite (es. “tutto ciò che è più vecchio di 2018”).
  2. Valuta eliminazioni mirate (cartelle particolarmente capienti, allegati voluminosi, posta inviata storica).

Attenzioni pratiche:

  • Serve spazio locale adeguato e un piano di backup dei PST.
  • I file PST molto grandi sono più fragili: preferisci più PST “tematici” (per anno/progetto) piuttosto che un singolo file monolitico.
  • Ricordati che i PST non sono indicizzati e ricercabili come l’archivio online.

Migrazione a lotti più piccoli

Suddividere il carico riduce la pressione sulla mailbox e sul servizio di migrazione. L’implementazione dipende dallo strumento che stai usando:

  • Per strumenti EWS/Graph/terze parti: usa filtri per intervallo di date o per cartelle (es. migra prima gli ultimi 24 mesi, poi le annate precedenti).
  • Per import/export MRS (New‑MailboxImport/ExportRequest): valutare ContentFilter e/o ExcludeFolders dove previsto.

Nota: non tutti i flussi di migrazione supportano filtri di contenuto; quando non supportati, la soluzione più pulita resta l’archivio online con criteri MRM.

Comprendere le quote: cosa conta davvero

Le dimensioni “viste da Outlook” non sempre coincidono con quelle che determinano il blocco.

  • Mailbox primaria: è il dato più evidente, ma non l’unico.
  • Recoverable Items: cartelle nascoste che includono versione, elementi eliminati, DiscoveryHold ecc. Se la mailbox è in litigation hold o in conservazione, questa area può crescere molto.
  • Archiviazione online: separata dalla primaria; lo spostamento automatico alleggerisce la quota “che conta” per lo Shutoff.

Comandi utili per indagare dove si trova il peso

# Cartelle più pesanti (prime 20)
Get-MailboxFolderStatistics -Identity &lt;utente&gt; -FolderScope All |
  Sort-Object -Property FolderSize -Descending |
  Select-Object -First 20 FolderPath, ItemsInFolder, FolderSize

Stima allegati > 10MB (richiede strumenti/approcci specifici per identificare i messaggi)

Qui ci limitiamo all'analisi per cartella, utile per indirizzare le pulizie.

Playbook operativo: sblocco in tempi rapidi

  1. Verifica quota e dimensioni con i comandi visti sopra; conserva un export dei valori iniziali (prima dell’intervento).
  2. Decidi la leva principale:
    • Se la migrazione è urgente e la licenza lo consente: aggiorna a Plan 2 / E3 / E5.
    • Se vuoi evitare upgrade: abilita l’archivio online e applica criteri MRM.
  3. Applica/attiva la soluzione scelta (licenza, archive, MRM, eventuale Start‑ManagedFolderAssistant).
  4. Monitora con: Get-MailboxStatistics -Identity <utente> | fl TotalItemSize, ItemCount, TotalDeletedItemSize Get-MigrationUserStatistics -Identity <utente> -IncludeReport | fl
  5. Rilancia la migrazione quando TotalItemSize scende sotto la quota Prohibit Send/Receive.
  6. Stabilizza il post‑migrazione: mantieni i criteri MRM, valuta l’auto‑expanding archive e forma gli utenti sulla ricerca nell’archivio.

Domanda di follow‑up

“Posso abilitare l’archiviazione online per ridurre le dimensioni senza cancellare o esportare i messaggi?”

. È la strategia consigliata quando non vuoi rimuovere contenuti e puoi assegnare una licenza con archivio incluso o l’add‑on dedicato. In sintesi:

  1. Assegna la licenza con “Archiviazione Exchange Online”.
  2. Abilita l’archivio via EAC oppure PowerShell: Enable-Mailbox -Identity <utente> -Archive
  3. Configura i criteri (Retention Tags/Policy) per spostare automaticamente i messaggi più vecchi di X giorni/mesi/anni.
  4. Verifica che la dimensione della mailbox primaria scenda sotto soglia, quindi rilancia la migrazione.

Nota pratica: l’archivio è accessibile dagli utenti in Outlook/OWA, sotto “Archivio online – <NomeUtente>”. Nessun dato viene perso.

Domande frequenti e casi particolari

La mailbox è in litigation hold o su conservazione?

Le conservazioni legali (o etichette di conservazione che impediscono la cancellazione) possono far crescere l’area Recoverable Items. In questi casi l’archivio online aiuta a trasferire dati “vivi”, ma la riduzione dei recuperabili dipende dai requisiti di conservazione. Evita di forzare cancellazioni che violino policy/obblighi.

Il blocco persiste nonostante l’upgrade?

Verifica che la quota effettiva si sia aggiornata e che il client/servizio veda la nuova soglia. Talvolta serve attendere la propagazione delle modifiche del piano o, in ambiente ibrido, la sincronizzazione delle proprietà.

Come gestire allegati molto pesanti?

Nei casi con molti allegati voluminosi, considera criteri MRM con MoveToArchive e, dove possibile, processi mirati di individuazione e riduzione (es. spostare moltissime foto allegato in OneDrive/SharePoint e mantenere in posta solo i link, in accordo con le policy aziendali).

Serve aumentare la quota solo “temporaneamente” per migrare?

È una strategia possibile (upgrade del piano o assegnazione temporanea dell’add‑on di archiviazione). Dopo la migrazione, mantieni criteri MRM per evitare di tornare oltre soglia.

Modelli di automazione PowerShell

Ecco alcuni snippet che puoi riutilizzare nella pipeline di migrazione e nel supporto.

Report di pre‑flight per una lista di utenti

$users = @("utente1@contoso.com","utente2@contoso.com")
$report = foreach ($u in $users) {
  $mbx = Get-Mailbox -Identity $u
  $stat = Get-MailboxStatistics -Identity $u
  [PSCustomObject]@{
    User                     = $u
    PlanQuotaProhibitSendRec = ($mbx.ProhibitSendReceiveQuota)
    TotalItemSize            = ($stat.TotalItemSize)
    TotalDeletedItemSize     = ($stat.TotalDeletedItemSize)
    ItemCount                = ($stat.ItemCount)
    ArchiveStatus            = ($mbx.ArchiveStatus)
  }
}
$report | Format-Table -Auto

Abilitazione massiva dell’archivio (dove concesso)

Import-Csv .\utenti-archivio.csv | %{
  $u = $_.UserPrincipalName
  Enable-Mailbox -Identity $u -Archive -ErrorAction SilentlyContinue
  Set-Mailbox -Identity $u -AutoExpandingArchive
  Start-ManagedFolderAssistant -Identity $u
}

Top cartelle per dimensioni, con esportazione CSV

$u = "utente@contoso.com"
Get-MailboxFolderStatistics -Identity $u -FolderScope All |
  Sort-Object FolderSize -Descending |
  Select-Object -First 50 FolderPath, ItemsInFolder, FolderSize |
  Export-Csv ".\TopCartelle-$($u).csv" -NoTypeInformation -Encoding UTF8

Tabella decisionale: quale strada scegliere

SituazioneScelta consigliataPerchéTrade‑off
Urgente sbloccare la migrazioneUpgrade a Plan 2 / E3 / E5Sblocca subito lo Shutoff, quota primaria più ampiaCosto licenza più alto
Nessuna cancellazione possibileAbilita archivio online + MRMRiduzione senza perdita, governance migliorataRichiede pianificazione dei criteri
Vincoli di budget/licenzeArchiviazione in PST mirataRiduzione immediata a costo zeroGestione/backup PST e ricercabilità inferiori
Strumento di migrazione con filtriLotti per data/cartellaCarico distribuito, più controlloTempi e complessità maggiori

Verifiche “di contorno” che salvano tempo

  • Versione di Outlook: assicurati che i client siano supportati e vedano l’archivio online correttamente (modalità cache, profilo aggiornato).
  • Indicizzazione/ricerca: dopo grandi spostamenti, la ricerca potrebbe impiegare un po’ a “rimettersi in pari”.
  • Regole e add‑in: regole lato client che riferiscono a cartelle spostate nell’archivio vanno riviste.
  • Formazione utenti: una pillola su “come cercare nell’archivio” riduce ticket post‑migrazione.

Risoluzione dei problemi: log e segnali di successo

Dopo l’intervento, ripeti le metriche iniziali e confronta.

# Prima del rilancio della migrazione
Get-MailboxStatistics -Identity &lt;utente&gt; | fl TotalItemSize, ItemCount

Durante/alla fine

Get-MigrationUserStatistics -Identity <utente> -IncludeReport |
fl Status, ItemsSynced, BytesTransferred, CompletionTimestamp

Esito atteso

Status: Completed (o Success)

La scomparsa dell’errore QuotaExceededException / MapiExceptionShutoffQuotaExceeded (ec=1245) e la ripartenza del flusso sono gli indicatori chiave. Mantieni poi attivi i criteri MRM per prevenire ricadute.

In sintesi

  • L’errore deriva dall’aver superato la quota della cassetta postale: Exchange va in blocco “Shutoff” e interrompe la migrazione.
  • Due vie rapide:
    • Aumentare la quota (Exchange Online Plan 2 o M365 E3/E5) – risolutivo immediato.
    • Abilitare l’archiviazione online e spostare l’eccedenza con criteri MRM – nessuna cancellazione, governance migliore.
  • Alternative: esportazione selettiva in PST o migrazione a lotti quando lo strumento lo consente.
  • Usa i comandi PowerShell forniti per diagnosi, monitoraggio e automazione.

Appendice: guida rapida “copiabile”

Comandi principali

# Diagnosi quota e dimensioni
Get-Mailbox -Identity <utente> | fl ProhibitSendQuota, ProhibitSendReceiveQuota, IssueWarningQuota
Get-MailboxStatistics -Identity <utente> | fl TotalItemSize, TotalDeletedItemSize, ItemCount

Stato migrazione

Get-MigrationBatch | fl
Get-MigrationStatistics | fl
Get-MigrationUserStatistics -Identity  -IncludeReport | fl

Abilitazione archivio online

Enable-Mailbox -Identity  -Archive
Set-Mailbox -Identity  -AutoExpandingArchive
Start-ManagedFolderAssistant -Identity 

Criterio MRM esemplificativo (archivia > 3 anni)

New-RetentionPolicyTag -Name "Archiviazione-3-Anni" -Type All -RetentionEnabled $true -AgeLimitForRetention 1095 -RetentionAction MoveToArchive
New-RetentionPolicy -Name "Policy-Archiviazione-Standard" -RetentionPolicyTagLinks "Archiviazione-3-Anni"
Set-Mailbox -Identity  -RetentionPolicy "Policy-Archiviazione-Standard" 

Schema operativo sintetico

  1. Misura dimensioni/quote → conferma l’Shutoff.
  2. Se urgente: upgrade di licenza → rilancia la migrazione.
  3. Se non puoi aumentare la quota: abilita archivio online + MRM → attendi la riduzione → rilancia.
  4. Stabilizza con politiche permanenti (MRM, auto‑expanding archive) e formazione utenti.

Nota finale: i nomi dei comandi e delle proprietà indicati sono quelli comunemente in uso in Exchange Online/PowerShell. Alcune opzioni possono variare in base al tipo di migrazione (IMAP, EWS, MoveRequest ibrido) e alle policy di tenant/on‑prem. Adatta la procedura al tuo scenario operativo.

Indice