Migrate Exchange On-Premise Mailboxes to Exchange online Using Cutover Migration (Part II)

This is Part II of my previous blog "Migrate Onpremise Mailboxes to Exchange online Using Cutover Migration https://blogs.technet.com/b/shahnawaz/archive/2014/05/29/shahnawaz.aspx

This blog covers most of common errors and its fixes, which can be encountered during Cutover migration process.

Error 1. Microsoft.Exchange.Data.Storage.Management.MigrationTransientException: We weren't able to connect to the remote server. Please verify that the migration endpoint settings are correct and your certificate is valid, and then try again. Consider using the Exchange Remote Connectivity Analyzer (https://testexchangeconnectivity.com

Fix:

  1. This error occurs when Outlook Anywhere is broken for On premise Users.
  2. Correct Authentication settings for Outlook Anywhere, See https://technet.microsoft.com/en-us/library/bb123542(v=exchg.80).aspx.
  3. Open Registry Editor on the Client Access server or on the front-end server, and verify that the ValidPorts registry value exists under HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Rpcproxy. Also confirm that the key includes the NetBIOS and FQDN for all mailbox servers and for each required port (that is, for ports 6001, 6002, and 6004).
  4. Once the Outlook Anywhere is fixed for on premise User's the above error shall be resolved. To verify this,you can open a web browser, browse to https://testconnectivity.microsoft.com/?TabId=o365 and perform RPC over HTTP test against On premise Mailbox .If test passes you should be all set. To know other method's to validate if Outlook Anywhere is working fine ,you can refer to my Part 1 of this blog.

More info: https://support.microsoft.com/kb/2903050 

 

Error2. "Unable to connect to the server"

Fix:

  1. Assign the Migration administrator Receive-As permissions to the mailbox database or Full-Access permissions to every mailbox using Power shell command's listed below.

How to: This Power shell command assign's the migration administrator account the Full Access permission to all user mailboxes in the on-premises organization.

Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox')} | Add-MailboxPermission -User migadmin -AccessRights FullAccess -InheritanceType all

This command assigns the Receive As permission to the migration administrator account for the mailbox database named "Mailbox Database 1".

Add-ADPermission -Identity "Mailbox Database 1" -User migadmin -ExtendedRights receive-as

     2.Ensure fully qualified domain name (FQDN) or remote procedure call (RPC) proxy address is entered correctly in the E-mail Migration Wizard. Entering Just NetBIOS of server name doesn't work.
     3. In a web browser, browse to https://testconnectivity.microsoft.com/?TabId=o365 and perform RPC over HTTP test against On premise Mailbox to ensure Outlook Anywhere is working fine.

 More info: https://support.microsoft.com/kb/2389390 

  

Error 3.   "Couldn’t connect to the source mailbox"

Fix:

  1. Assign the migration administrator Receive-As permissions to the mailbox database or Full-Access permissions to every mailbox using power shell command's list below " Applies to Exchange 2007,2010 & 2013"

How to: This Power shell command assign's the migration administrator account the Full Access permission to all user mailboxes in the on-premises organization.

Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox')} | Add-MailboxPermission -User MigrationAdmin -AccessRights FullAccess -InheritanceType all

This command assigns the Receive As permission to the migration administrator account for the mailbox database named "Mailbox Database 1".

Add-ADPermission -Identity "Mailbox Database 1" -User MigrationAdmin -ExtendedRights receive-as

 More info: https://technet.microsoft.com/en-us/library/jj898489(v=exchg.150).aspx

  

Error 4.   A source email address <user email address> couldn’t be found in the on-premises domain.

Fix:

  1. Unhide the user from the Exchange server's Global Address List and perform the Migration.

How to:

For Exchange 2007 & Exchange 2013:

  • Click Start > All Programs > Microsoft Exchange Server > Exchange Management Console Expand recipient Configuration > Mailbox > Locate the Mailbox for the user in question > Right Click the Mailbox > Properties > General Tab > Uncheck the "Hide From Exchange Address Lists" option and click Apply > Click Ok to close the window

For Exchange 2013:

  •  Connect to the Exchange Admin center > Recipients > Mailboxes > Locate your user > Edit >  Uncheck "Hide From Exchange Address Lists" option > Apply > Click ok to close the window.

  

Error 5.   Default folders can't be moved or deleted.

Fix:

  1. This error mainly occurs if default folders like Inbox, Sent Items are broken or corrupted due to third party Addins or memory corruption
  2. Disable outlook Addins on user in question Outlook Client's machine.See https://office.microsoft.com/en-in/outlook-help/enable-or-disable-add-ins-in-office-programs-HA010034127.aspx\#BM9
  3. Click > Start > Run and type Outlook /Resetfolders Switch on outlook Client Machine of User in question. This command shall bring the default folders in to their default state.

More info: https://support.microsoft.com/kb/2939487

 

Error 6. " /o=nt5/ou=1234e11b842d744d88734918addbfc84/cn=1234e11b842d744d88734918addbfc84 A required recipient field SmtpAddress is missing"

Fix:

  1. Run following command let on Exchange onpremise Server to remove invalid SMTP address in Exchange Global address list

Update-GlobalAddressList -identity "Default Global Address List" -DomainController DomainControllerName

       2.  In some cases either Mailbox or Mail-Enabled contact which doesn’t have proper LegacyExchangeDN value along with matching SMTP address, to sync Cloud can also cause this error and best way to fix is by

a) Search for Mail recipient matching proxy address “1234e11b842d744d88734918addbfc84" and remove it

b) Convert Object Guid into Hex value and perform LDAP search with help of the Object Guid and remove the User object if not in use. See https://blogs.technet.com/b/ehlro/archive/2010/04/22/how-to-find-the-object-that-belongs-to-a-guid.aspx for more details. 

 

Error 7. " Failed to update one of the recipient properties. Couldn't find object "ADCDisabledMail". Please make sure that it was spelled correctly or specify a different object."

Fix:

  1. Navigate to User properties >Check if any disabled User object is granted Send on Behalf of Permission on his Mailbox and Accordingly remove disabled Object from there.
  2. In Some Case if you have assigned delegates and that object is disabled or No more in Active Directory, You'd expect to this error. Therefore remove the entry from 'PublicDelegates' Attribute on User Object using Adsiedit.

 

Error 8. "  This mailbox exceeded the maximum number of large items that were specified for this request. --> MapiExceptionMaxSubmissionExceeded: IExchangeFastTransferEx.TransferBuffer failed (hr=0x80004005, ec=1242)"

Fix:

  1. This error is commonly seen if the user's mailbox contains one or more email items that exceed the 35-megabyte (MB) message limit.
  2. Using outlook change the View to List. Arrange all items in all folders of the user's mailbox by size. Sort the items from largest to smallest so that the largest items are at the top of the list.
  3. Locate the largest Item larger than 35 MB. Depending on how important email item is, you can export into pst or shift delete from user mailbox and then proceed with migration.

   

Error 9. "A different type of Active Directory object already exists for user@domain.com in the target forest. Please verify that the SMTP address is correct"

Fix:

  1. Log on to Office 365 Portal and Navigate to Users and Groups.

  2. Search for User which Failed to Migrate

  3. Delete the User Object permanently Using GUI or Exchange PowerShell using command let below (Imp : If you have configured onedrive or contain any sharepoint data for the user , ensure you take a back up prior removing the object)

    Remove-MsolUser -UserPrincipalName User@Domain.com-RemoveFromRecycleBin

  4. Ensure User is Successfully Removed from User and Groups In the Portal

  5. Perform the Cut over migration

Error 10. MigrationPoisonCountThresholdExceededException"

Fix:

  1.  Run Powershell command to pull Migration statistics report and contact Microsoft Support for further investigation.

Get-MigrationBatch -Diagnostics -IncludeReport | Export-Clixml -Path C:\Migbatch.xml

PowerShell Command to Review Migration progress & Troubleshooting:   The Powershell output's shall help you reviewing the detailed insights about the failure / error messages and migration progress.

Get-Migrationconfig | fl
Get-Migrationendpoint | fl
Get-MigrationBatch | fl
Get-MigrationStatistics | fl
Get-Migrationuser –identity <userfailingmigration> | fl
Get-MigrationUserStatistics -id <userfailingmigration> | fl
Get-MigrationUserStatistics -id <userfailingmigration> -diagnostic | fl
Get-MigrationUserStatistics -id <userfailingmigration> -includereport | fl

I hope you found this informative and helpful!! Stay tuned for my next blog on Staged Migration!!