Overview
When a Microsoft 365 mailbox reaches its 100 GB limit, mail starts bouncing. Enabling archiving alone does not clear it immediately. This article explains how archiving timing works and how to force it to run for one mailbox or the whole organization.
Symptom
Mailbox is at approximately 100 GB and inbound email is bouncing with a mailbox full or quota exceeded error.
Background - How Auto-Archiving Timing Works
- The Managed Folder Assistant (MFA) is the background process that moves mail into the archive mailbox
- It processes each mailbox automatically at least once every 7 days - the exact time cannot be predicted
- Only mail older than the archive tag age is moved. The default tag ("Default 2 year move to archive") only offboards items older than 2 years, so recent mail will not clear
- Forcing MFA to run starts archiving within about 5 minutes instead of waiting for the next cycle
Step 1 - Connect to Exchange Online PowerShell
Connect-ExchangeOnline -UserPrincipalName admin@yourdomain.com
Step 2 - Verify the Archive Is Enabled
Get-Mailbox user@yourdomain.com | fl DisplayName,ArchiveStatus,AutoExpandingArchiveEnabled
Get-OrganizationConfig | fl AutoExpandingArchive
ArchiveStatus = Active and AutoExpandingArchive = True means archiving is on. If not, enable it:
Enable-Mailbox user@yourdomain.com -Archive
Set-OrganizationConfig -AutoExpandingArchive
Step 3 - Force Archiving for a Single Mailbox
Start-ManagedFolderAssistant -Identity user@yourdomain.com
Step 3 (Alternative) - Force Archiving for All User Mailboxes
Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq "UserMailbox"} |
ForEach-Object {
try { Start-ManagedFolderAssistant -Identity $_.PrimarySmtpAddress -ErrorAction Stop }
catch { Write-Warning "Skipped $($_.PrimarySmtpAddress): $($_.Exception.Message)" }
}
Step 4 - Confirm It Is Working
Run the following commands before forcing archiving, wait 15-30 minutes, then run them again. The primary mailbox should shrink and the archive should grow.
Get-MailboxStatistics user@yourdomain.com | fl DisplayName,TotalItemSize,ItemCount
Get-MailboxStatistics user@yourdomain.com -Archive | fl DisplayName,TotalItemSize,ItemCount
If Nothing Moves
This usually means the mail is newer than the archive tag age (default 2 years) rather than a failed command. Create a shorter retention tag to pull more mail into the archive:
New-RetentionPolicyTag "1 Year Move to Archive" -Type All -RetentionAction MoveToArchive -AgeLimitForRetention 365 -RetentionEnabled $true
Set-RetentionPolicy "Default MRM Policy" -RetentionPolicyTagLinks (Get-RetentionPolicy "Default MRM Policy").RetentionPolicyTagLinks + "1 Year Move to Archive"
Start-ManagedFolderAssistant -Identity user@yourdomain.com
Expected Time to Resolution
- Archiving should begin within a few minutes when forced
- Full drainage of a large mailbox may take minutes to hours depending on mailbox size
- Only items older than the archive policy age will be moved
Notes
- Set-OrganizationConfig -AutoExpandingArchive cannot be undone once applied to the organization
- Large tenants may experience throttling - MFA will continue processing in the background over several hours