What to do if a migration is Completed With Warnings

This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Tech Community.

Here is your next installment in the troubleshooting hybrid migrations blog series! See:

There are 2 main flavors of "completed with warnings" scenarios when onboarding mailboxes from Exchange on-premises to Exchange Online. While these warnings can happen in offboarding scenarios, that is rarer than seeing them during onboarding. We gathered some examples for onboarding migrations and will discuss these here.

The migration batch / move requests will typically have a status of “CompletedWithWarning” and you might see a warning similar to the following in the Exchange Admin Center Migration pane:

Warning: Unable to update Active Directory information for the source mailbox at the end of the move. Error details: An error occurred while updating a user object after the move operation.

As mentioned several times by now in this blog series, to dig deeper into the details of the move, you would get move request statistics for the affected user with IncludeMoveReport switch, from Exchange Online PowerShell and then import it and store it in a variable:

Get-MoveRequestStatistics <user> -IncludeMoveReport | export-clixml C:\temp\EXO_MoveReqStats.xml 

Issues you’d see on-premises

If we fail to convert the source mailbox into a remote mailbox (fail to cleanup things on source after mailbox has been moved to the cloud), as result of this failure we may end up with 2 mailboxes for the same user (one on-premises and a migrated one in the cloud.)

Example from $stats.Report.Entries:

Failed to convert the source mailbox 'contoso.onmicrosoft.com\4019d389-dcc6-4a77-a19c-e49408e7a160 (Primary)' to mail-enabled user after the move. Attempt 17/480. Error: CommunicationErrorTransientException.
31.08.2020 11:47:42 [AM5PR0102MB2770] Post-move cleanup failed. The operation will try again in 30 seconds (18/480)

If the source AD user is not correctly updated into a remote mailbox during an onboarding move to Office 365, you would need to follow this KB article to manually disable the mailbox on-premises and convert it into a remote mailbox.

Depending on the time period the two mailboxes coexisted (which results in content being different in these two since migration completed) you would eventually need to restore the content of the disconnected mailbox on-premises to the migrated cloud mailbox (for restore cmdlet see Step 1.7 from this article). Another option is to export it to PST before disabling it and importing the PST into the target mailbox using the Outlook client or using the Office 365 PST Import Service.

Issues you’d see in Exchange Online

It can happen that a database failover occurs in the completion phase of the migration while unlocking the target mailbox in Office 365 (this is a rare case and we have an automatic task that ensures the mailbox is unlocked and would allow us to access the target mailbox.) If this happens, we expect the source mailbox to be converted successfully into a remote mailbox.

A more common scenario in Office 365 would be when there were transient failures with a specific Domain Controller (DC) in Exchange Online but where another DC took over the migration job and the move request was completed successfully.

​For this scenario, in the move report entries $stats.report.Entries | % {[string] $_} in PowerShell, or in the Migration User Status Report in Exchange Admin Center, you should check if:

  • Target mailbox is updated successfully on a different DC than the DC mentioned in the failure.(AM4PR02A008DC01 unavailable vs AM4PR02A008DC05 which took over, in example below)
  • Source mailbox was converted into a mail user with success using on-premises DC; see the line that says “The mailbox was converted into a mail user using domain controller 'DC6.contoso.com'” in the example
  • The move request is complete (“Request is complete”).

All these conclude a successful completion of the move request, even if we had a temporary DC failure during the move.

The ‘good’ example (things worked out well):

10.03.2020 14:24:19 [DB7PR02MB4379] The following failure occurred after the Active Directory modification completed: The domain controller 'AM4PR02A008DC01.EURPR02A008.PROD.OUTLOOK.COM' is not available for use at the moment. Please try again..
10.03.2020 14:24:19 [DB7PR02MB4379] An error caused a change in the current set of domain controllers.
10.03.2020 14:24:20 [DB7PR02MB4379] Target mailbox 'John Smith/ Contoso Org' was updated on domain controller 'AM4PR02A008DC05.EURPR02A008.PROD.OUTLOOK.COM'.
10.03.2020 14:24:20 [MAILSRV-EX15] The mailbox was converted into a mail user using domain controller 'DC6.contoso.com'.19.09.2018 14:24:20 [DB7PR02MB4379] Source mail user 'John Smith/ Contoso Org' was updated on domain controller 'DC6.contoso.com'.
10.03.2020 14:24:21 [DB7PR02MB4379] Target mailbox 'contoso.onmicrosoft.com\39026949-29d0-4f9b-a84d-3c52c8b28b39 (Primary)' was successfully reset after the move.
10.03.2020 14:25:18 [DB7PR02MB4379] Request is complete.

Other than situations mentioned above, you should check the following things when you have an onboarding move request completed with warnings:

  • The mailbox can be accessed least from OWA client for the onboarded user (https://outlook.office365.com/owa) and the migrated content is there.
  • Test-MapiConnectivity in Exchange Online PowerShell against that mailbox is OK.
  • The user is a Remote Mailbox in on-premises: Get-RemoteMailbox <user>

This concludes the entire blog post series. Hoping that you’ve found this useful. I am here to answer your further questions!

I would like to thank Angus Leeming, William Rall, Brad Hughes, Chris Boonham, Ben Winzenz,  Cristian Dimofte, Nicu Simion, Nino Bilic and Timothy Heeney for their precious help on this blog and for dealing with me in my daily support life.

Mirela Buruiana

REMEMBER: these articles are REPUBLISHED. Your best bet to get a reply is to follow the link at the top of the post to the ORIGINAL post! BUT you're more than welcome to start discussions here:

This site uses Akismet to reduce spam. Learn how your comment data is processed.