Migration between two Office 365 tenants
I. Pre-migration activities
Below you will find the list of key points to be considered:
Step 1: (Optional) Add a custom domain to target Office 365
If you want to migrate to your own (custom) domain, you need to make sure that it's registered and verified in your target Office 365. If necessary, add your custom domain to the target Office 365 tenant and verify it.
Skip this step if you already have your own domain registered in the target Office 365 or you would like to migrate to the initial domain (e.g. yourcompany.onmicrosoft.com) that was assigned to you by Microsoft when you created your target Office 365 tenant.
Step 2: (Optional) Recreate source Office 365 users in target Office 365
The program is able to automatically create mailbox-enabled accounts in the target Office 365, under the previously added custom domain. Our software will allow you to configure various options (e.g. assign an SMTP address pattern for the target mailboxes) when you configure your migration job. Learn more
If necessary, you can manually recreate all source users in the target Office 365 beforehand. All these target accounts have to be mailbox-enabled.
If you choose either to manually create the mailboxes or allow the program to prepare them for you, be advised that the account data (such as permissions) will not be migrated. However, if you set the program to automatically create a new mailbox-enabled user in the target environment, there is an option to copy main AD attributes from the source user account. Learn more
Learn more about importing multiple users to Office 365 via CSV files
Step 3: Make sure that the admin account used to connect to the source Office 365 tenant has the necessary roles assigned and that it has its mailbox configured correctly
- Check if the source admin account has the following management roles assigned:
- View-Only Configuration
- View-Only Recipients
If any required roles are missing, you can either assign them manually, following the steps described in this KB article or let the program assign them for you in the Configuration step of the Source server connection wizard.
- Ensure that the UPN has been defined for this account
- Ensure that this account is mailbox-enabled.
UPN (User Principal Name) is the name of a system user in an email address format. Learn more.
Step 4: Verify that the admin account used to connect to the target Office 365 tenant has the necessary roles assigned
- Check if the target admin account has the following management roles assigned:
- View-Only Configuration
- View-Only Recipients
- Public Folders*
- User management administrator/Global administrator*
Please note that the Public Folders role is only required if you plan to migrate public folders. Moreover, the User management administrator/Global administrator role is required to create new users and mailboxes. Therefore, it's not required to assign it to the admin account if you are migrating data to the mailboxes that already exist on the target server.
If these roles are missing, you can either assign them manually, following the steps described in this KB article or let the program assign them for you during the Configuration step of the Target server connection wizard.
- Ensure that the UPN has been defined for this account
- Ensure that this account has a valid, non-hidden mailbox on the source Exchange server.
Step 5: Make sure the target Office 365 administrator's email address corresponds to a right domain
- Log in to the target administrator's Office 365 account.
- Go to Office 365 admin center.
- Choose Users > Active users from the menu on the left. The table with all organization users will be displayed.
- Select the administrator's account and check in the User name / Email section if the address corresponds to the right domain.
- If not, click Edit, locate the drop-down menu that contains all available domains within your organization, and select the domain you will be migrating to. Save the changes.
Step 6: Install components required by CodeTwo Office 365 Migration (the installation wizard will guide you through this process)
- Microsoft Online Services Sign-In Assistant (required on all systems)
- Windows Azure Active Directory Module for Windows PowerShell Office 365 (required on all systems, more information here)
- .NET 4.0 (required on any system, might be already installed)
- PowerShell 2.0 (or higher, must be installed on Windows Server 2008)
- Download Windows Management Framework Core (WinRM 2.0 and Windows PowerShell 2.0) for Windows Server 2008.
- Newer Windows releases (Windows 7 or higher, Windows Server 2008 R2 or higher) already have PowerShell 2.0 (or higher) built-in.
- Small Business Server 2008 (SBS2008) users might stumble upon a problem with installing PowerShell. See our Knowledge Base article on that.
Step 7: Install CodeTwo Office 365 Migration
II. Migration process
Step 1: Connect to the source server
Make sure that the software user who runs the migration is a local administrator.
When you start the program, you will see the Dashboard tab. Click Create a new migration job link on the How to start card. Select the source server type: Office 365. The Create Office 365 migration job wizard will open. Set the name of the job and click Next to proceed to the Source mailboxes step. If this is your first migration job, you will need to configure a connection to the Office 365 tenant that will be used as the source of your migration. Click Add new source connection in the Source server drop-down menu and a wizard will open. You need to complete two steps:
- Admin credentials – provide the email address and password for the Office 365 admin account. If this account has multi-factor authentication enabled, enter the app password instead (learn more).
- Configuration – the program configures your Office 365 connection and checks whether the account provided in the previous step has the necessary roles assigned. If not, the program will attempt to assign them automatically. In such a case, you may be asked to provide the credentials of another account that is assigned the Global administrator role. This account will not be used to connect to the Office 365 tenant, but only to assign the missing roles.
If the configuration is successful, click Finish.
If any errors appear, see Troubleshooting
Step 2: Select mailboxes you want to migrate and define target connection
After successfully configuring the source connection, you will get back to the migration job wizard.
The Source mailboxes step now allows you to include or exclude mailboxes by using multiple filters. By default, the program includes All users along with the Public Folders as it is a most common scenario. Choose the mailboxes you want to migrate and proceed to the next step (Target mailboxes).
Now, set up a new target server connection by choosing Add new target connection from the Target server drop-down menu. A simple wizard will open.
- Admin account – provide the email address and password of the Office 365 admin account. If this account has multi-factor authentication enabled, enter the app password instead (learn more). Click Next to move on to the Configuration step.
- Configuration – this process configures the connection to the target Office 365 server and checks whether the account provided in the previous step has the necessary roles assigned. If not, the program will attempt to assign them automatically. In such a case, you may be asked to provide the credentials of another account that is assigned the Global administrator role. This account will not be used to connect to the Office 365 tenant, but only to assign the missing roles.
Once the configuration ends successfully, you will see green check marks. If any errors appear, see Troubleshooting.
After your connection is established, click Finish and proceed to the next step (Match mailboxes).
Step 3: Match source and target mailboxes
Matching the source mailboxes with the target mailboxes can be done in two ways: automatically, via the built-in Automatch feature, or manually. Either way, click the Match mailboxes button.
To manually match a single mailbox, click on the Click to match target link in the Target user mailbox column and choose the most appropriate option for this user. You can:
- Create a new user - to create both a new Azure Active Directory user and a corresponding mailbox. You can use the default values or change them.
- Choose an existing user from the list - to select an existing user in the target environment that does not have a mailbox created yet.
- Manually specify the mailbox address - this option should be used when you are unable to list the target environment.
For some of these options, you may be asked to provide further details (e.g. passwords for the newly created users).
However, when it comes to matching hundreds of mailboxes, the process may be extremely time-consuming. To automatically apply common matching options for multiple users, simply select your users (you can use the Ctrl+A shortcut to choose all entries) and click Automatch on the menu bar. Configure the matching options and start the process by clicking Automatch. Learn more
To create a new user or to enable a mailbox for an existing user, the program needs to assign a license. This is done automatically. You can adjust the type of license at any time by selecting a desired value in the Assign license column.
When you have matched all your mailboxes, you can close the matching window and continue with the migration job wizard. The next steps will allow you to configure additional options.
Step 4: Customize all necessary aspects of the migration job
You can configure the following additional options:
- Scheduler - this step allows you to set the job to be automatically started in the desired time periods, so you do not have to control it manually.
- Time filter - this filter is used to exclude items that are older or newer than a particular date.
- Folder filter - in this step you may completely exclude specific folders from the migration process.
- Advanced settings - this step lets you define how many mailboxes should be migrated at the same time and set the maximum size of items to be migrated.
Step 5: Start the migration
Review your migration job in the Job summary step. Click Finish to close the wizard.
Move on to the JOBS tab and click Start on the toolbar to begin the migration. Once you start the migration, all items from the source mailboxes will be migrated to their corresponding target mailboxes.
The migration processing time depends on several different factors, e.g. the number of mailboxes and items, the speed of internet connection, EWS throttling settings. See this article for details.
Step 6: Check if the number of items migrated in the target mailboxes matches the number of items in the source server mailboxes
If you notice any missing items in the target mailbox, restart the migration by using the Rescan feature.
Please be aware that the program does not migrate some specific folders at all. Those are e.g. Sync Issues or the ones created while putting a mailbox on a litigation hold.
If any problems appear during the migration process, they will be visible on the JOBS tab in the Migration status column or on the Job bad news card. Details of the problems can be checked in the diagnostic files.
Step 7: Check if there are any new items in the source mailbox after migration
Once the migration is finished and you have noticed that some new items appeared (in the meantime) in the migrated source mailbox, just restart the migration by using the Rescan feature.
Please keep in mind that the Rescan feature uploads only new items, not the changed ones.
III. Post-migration cleanup
Step 1: MX records
Change your MX records to enable mail flow to the new server. Please note that this process may take several hours.
If any new items appear in a source mailbox while the MX records are being changed, it is possible to migrate them after the records setup process is completed. This can be done via the Rescan feature available in the Administration Panel of the program.
Step 2: The previous domain
Disconnect the previous domain.
If you have any problems with disconnecting your domain, please consult your domain provider.