Mailboxes not being migrated to Exchange Online because their sizes exceed the mailbox target quota of 50GB

After the recent changes related to increasing of the mailboxes size in Exchange Online from 50GB to 100GB, we are noticing a common error that the move of mailboxes from Exchange 2010, Exchange 2013, Exchange 2016 to the cloud can't be completed because the size of the moved mailbox is exceeding the target quota of 50GB.



Error: MigrationPermanentException: Mailbox size 60.96GB (65,457,177,916 bytes) exceeds target quota 50GB (53,687,091,200 bytes).


Although the default MailboxPlan in such cases is reflecting correctly the changes in our service:



PS C:\windows\system32> Get-MailboxPlan | Format-Table Name,DisplayName,IsDefault,Prohibit*Quota,*WarningQuota


Name                                                          DisplayName              IsDefault ProhibitSendQuota              ProhibitSendReceiveQuota       RecoverableItemsWarningQuota IssueWarningQuota             ArchiveWarningQuota

----                                                          -----------              --------- -----------------              ------------------------       ---------------------------- -----------------             -------------------

ExchangeOnline-*******-****-****-****-************           ExchangeOnline               False 49.5 GB (53,150,220,288 bytes) 50 GB (53,687,091,200 bytes)   20 GB (21,474,836,480 bytes) 49 GB (52,613,349,376 bytes)  45 GB (48,318,382,080 bytes)

ExchangeOnlineDeskless-*******-****-****-****-************   ExchangeOnlineDeskless       False 1.979 GB (2,125,463,552 bytes) 2 GB (2,147,483,648 bytes)     20 GB (21,474,836,480 bytes) 1.96 GB (2,104,492,032 bytes) 45 GB (48,318,382,080 bytes)

ExchangeOnlineEnterprise-*******-****-****-****-************ ExchangeOnlineEnterprise      True 99 GB (106,300,440,576 bytes)  100 GB (107,374,182,400 bytes) 20 GB (21,474,836,480 bytes) 98 GB (105,226,698,752 bytes) 90 GB (96,636,764,160 bytes)

ExchangeOnlineEssentials-*******-****-****-****-************ ExchangeOnlineEssentials     False 49.5 GB (53,150,220,288 bytes) 50 GB (53,687,091,200 bytes)   20 GB (21,474,836,480 bytes) 49 GB (52,613,349,376 bytes)  90 GB (96,636,764,160 bytes)




a quick check for the mail user in question shows that the PersistedCapabilities value is empty:


PS C:\windows\system32> Get-MailUser mailuser | fl identity,*quota*,*persis*


Identity                     : mail user
ArchiveQuota                 : 100 GB (107,374,182,400 bytes)
ArchiveWarningQuota          : 90 GB (96,636,764,160 bytes)
ProhibitSendQuota            : 49.5 GB (53,150,220,288 bytes)
ProhibitSendReceiveQuota     : 50 GB (53,687,091,200 bytes)
IssueWarningQuota            : 49 GB (52,613,349,376 bytes)
RecoverableItemsQuota        : 30 GB (32,212,254,720 bytes)
RecoverableItemsWarningQuota : 20 GB (21,474,836,480 bytes)
PersistedCapabilities        : {}



Resuming the migration batches in such cases is not resolving the migration issue because that action is not updating the values of the MailUser object itself.


Since we aren't able to change the values of these attributes by using the Set-MailUser cmdlet, we need to assign a license to the MailUser object in question before trying to migrate the mailbox to Office 365 again.


Important note - what to expect:


  1. If the MailUser object has had a cloud mailbox in the past, you could expect to have a duplicated object. Such scenario would be expected if you have had created mailboxes for your users before implementing a directory synchronization to the cloud.
  2. If the MailUser object was just synchronized to O365 without being matched to any on-premises object in the past, there shouldn’t be a duplicate mailbox provisioned after the license is being assigned to it.



The resolution steps are the following:


  1. Remove the failed migration batch/move
  2. Assign a license to the mail user
  3. Re-create the migration batch from the portal.