Messages aren't moved to archive mailboxes after you create a retention policy in Exchange Online
In Microsoft Exchange Online for Microsoft Office 365, you use the New-RetentionPolicy Windows PowerShell cmdlet to create a retention policy that moves email messages from a user's' mailbox to the user's archive mailbox. For example, you create a retention policy by using the following series of PowerShell cmdlets.
New-RetentionPolicyTag "ArchiveTag" –Type All –RetentionEnabled $true –AgeLimitForRetention 90 –RetentionAction MoveToArchive New-RetentionPolicy "CorpPolicy" –RetentionPolicyTagLinks "ArchiveTag" Set-Mailbox <mailbox> -RetentionPolicy "CorpPolicy" Start-ManagedFolderAssistant –Identity <mailbox>
However after you create the retention policy, the policy doesn't automatically run. That is, messages that have reached the age limit that's set in the policy aren't automatically moved to the user's archive mailbox.
This issue occurs if the size of the mailbox in Exchange Online is less than 10 megabytes (MB). The retention policy runs automatically one time every seven days for mailboxes that are larger than 10 MB. However, the retention policy doesn't automatically run for mailboxes that are smaller than 10 MB.
For mailboxes that are smaller than 10 MB, manually run the Start-ManagedFolderAssistant –Identity <mailbox> cmdlet every time that you want to move messages to the archive.
For more information about how to set up and manage retention policies in Exchange Online, see Set Up and Manage Retention Policies in Exchange Online with Windows PowerShell.
Still need help? Go to Microsoft Community.