Migrate Users between Office 365 Tenants

Microsoft have written a fairly comprehensive guide to the migration of accounts between Office 365 complete with sample PowerShell code.  Unfortunately the article is lacking in detail about how to move Email and SharePoint data but it has a good explanation of how to move the accounts.  The article can be found here, but an overview of the steps is listed below.

  1. Export a list of users from the original tenant.
  2. Create users in the new tenant from the information gathered at #1.  If their email domain will be changing they can be created with the new domain name, otherwise they will need creating witht onmicrosoft.com email addresses.
  3. Point the MX record to a service that will store emails for you.
  4. Remove all references of the domain name from the old tenant.
    1. Change the name of the public sharepoint site if you have one.
    2. Remove Skype for Business licenses to remove SIP addresses.
    3. Change users to onmicrosoft.com domain
    4. Get-MSOLUser -DomainName bret-tech.com will list any objects that need modifying
  5. Remove the domain from the old tenant.
  6. Add the domain name to the new tenant.
  7. Change addresses in the new tenant to use the domain name
  8. Point your MX record back to Office 365.
  9. Retrieve your stored emails from th3 host you setup at #3
  10. Re-configure Outlook profiles and delete nickname caches.
  11. Export mail from old tenant and import into new.