Cross-forest migration from Exchange 2010 to Exchange 2010/2013/2016
I. Pre-migration activities
Below you will find the list of key points to be considered:
Step 1: Prepare a clean target Exchange environment in a new Active Directory forest
The following points need to be revised:
Step 2: (Optional) Enable the two-way trust relationship between the forests
This step is not necessary but recommended. Trust setup process will most likely reveal any issues you would otherwise find only during the actual migration and of course, it is better to address those before starting the migration. Secondly, setting up a trust makes it easier to configure CodeTwo software (see II Migration Process, step 2).
* Please note that setting the trust relationship doesn't apply to SBS based environments.
Step 3: Configure mail flow between the Source and the Target server
- Configure Send and Receive Connectors on Exchange 2010.
- Configure Send and Receive Connectors on Exchange 2013 (default Receive Connector is typically created during Exchange Server installation process)
- Configure Send and Receive Connectors on Exchange 2016 (default Receive Connector is typically created during Exchange Server installation process)
Step 4: Configure synchronization (sharing) of Free/Busy Info on the Target server
Step 5: Prepare domain accounts on the Target server
- Migrate domain accounts between the Active Directory forests. You may do it automatically using Active Directory Migration Tool (ADMT) or create the accounts manually in the target forest. If you choose the manual approach please bear in mind that the accounts' data like permissions' resources will not be migrated.
- Create mailboxes in the target environment, either manually or using Prepare-MoveRequest.ps1 script.
Please be aware that for each user included in the migration, you must have mailbox-enabled user ready in the target environment prior to migration.
Step 6: Make sure that the Target server's Administrator belongs to the appropriate AD group, has permissions on users mailboxes and has his mailbox correctly configured
- Check if the Administrator belongs to the Organization Management group:
- Open the Exchange Management Shell on the target server and enter Import-Module ActiveDirectory script
- Then execute Get-ADPrincipalGroupMembership
- Check the Administrator's impersonation rights on users mailboxes
Learn more on how to configure the impersonation rights
- Check that the Administrator's mailbox is configured and activated
Step 7: Verify permissions of the software user and target server admin's account.
Make sure that the Administrator, who runs the migration, has appropriate permissions on the Source server. Furthermore, make sure that the Target Server Admin, whose credentials are used, has proper access rights to the Target server's EWS service and that his mailbox is not hidden from the Exchange address lists
Verify the following:
- Domain Admins membership
- Organization management membership of the target server Administrator
- Access to the Target server's EWS service using IP or a Domain Name, e.g. https://[Exchange_IP]/EWS/Exchange.asmx or https://[Exchange_Name]/EWS/Exchange.asmx
- If a Client connects to EWS from the outside of the local network he needs to have the external EWS URL correctly configured:
- Open the Exchange Management Shell on the target server and check if the ExternalUrl is defined: Get-WebServicesVirtualDirectory | fl
- If there's no address in the ExternalUrl line it needs to be defined. Execute the following script: Get-WebServicesVirtualDirectory | Set-WebServicesVirtualDirectory -ExternalUrl https://[Target server's internet name]/EWS/Exchange.asmx
Step 8: Adjust the EWS Throttling settings and change the maximum size limit of sent mail to decrease the time of migration processing
Step 9: Installation of components required to install CodeTwo Exchange Migration on the Source server (the installation wizard will guide you through this process)
- MAPI CDO (MAPI Client and Collaboration Data Objects, required on any system except for Windows Server 2003 and other systems with coexisting MS Outlook x86 older than version 2016)
- .NET 4.0 (required on any system, might be already installed)
- PowerShell 2.0 (or higher, must be installed on Windows XP, Windows Server 2003, 2008)
- Download Windows Management Framework Core (WinRM 2.0 and Windows PowerShell 2.0) for Windows XP and Vista, Windows Server 2003 and 2008
- Newer Windows releases (Windows 7 or higher, Windows Server 2008 R2 or higher) already have PowerShell 2.0 (or higher) built-in.
Step 10: Installation and activation of CodeTwo Exchange Migration
II. Migration process
Step 1: Connect to the Source server
Once the program's installation is completed, you will see the Dashboard view. Click Create a new migration job link on How to start tile. You will encounter a wizard which allows you to configure connection to your On-premises Exchange Server, which will be used as the source of the migration. You need to go through those steps:
- Service account - in this step, the program creates a service responsible for accessing mailboxes selected for migration. As the service works under the Administrator's MAPI profile, enter the Administrator's email address and password. Note that this user needs to belong to Domain Admins group. By default, the currently logged Administrator's email address is filled automatically. However, you can change it by clicking Browse and selecting another user's email address from the picker.
- Connection method - there you can allow the program to automatically recognize the Exchange Server located within your network or select it manually from the picker.
- Configuration - this step configures your source server connection based on the entered settings.
Learn more about troubleshooting the Source server connection settings
Step 2: Continue the job configuration to set the Target connection
After successfully configuring the Source connection, Create migration job wizard will open. Set the name of the job and hit Next to define the Target server connection on the very next step:
- From the Target server combo box select Add new target connection... and wait until next wizard opens.
- On the step Server connection choose either Autodiscover Exchange Server (default option) to automatically find the proper Target server or configure the connection manually.
If you decided to configure the target connection manually, be aware that using either IP address or netBIOS name to connect to the target server will render listing target mailboxes and automatching impossible. Consequently, you will need to configure every source-target mailboxes pair manually, by typing in the target SMTP addresses.
- Admin's credentials - specify the UPN of the Target server Administrator and its password. If you opted to configure a trust relationship between forests (see I Pre-migration activities, Step 2) you can click the Browse button to user AD user picker. Next, enter the Admin's credentials and move on to Configuration.
UPN (User Principal Name) is an Internal account name of a user in an e-mail address format.
- Configuration - this process configures the target server connection based on the entered settings.
- Once the configuration is completed there should be no errors under the three following points. However, if any errors appear please consult the Learn more sections describing the most common configuration mistakes.
- Now is the time to test the Administrator's impersonation rights on the chosen Target mailbox. Under the Test button provide the Active Directory user's e-mail address and hit Test. If your rights have been successfully granted, you will be notified about that.
Step 3: Define which mailboxes should be migrated and bind them with the Target mailboxes
The Mailboxes step allows you to include or exclude mailboxes using multiple filters. You may, for example, include all users' mailboxes from a particular Organizational Unit or Active Directory group. By default 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.
Matching the Source with the Target mailbox can be done in two ways: automatically via the built-in Automatch feature or manually.
- Automatch - this mechanism automatically matches the Source mailboxes with the corresponding Target mailboxes based on users' first and last names.
- While configuring the job for the first time, the Automatch all mailboxes in this job is the only option available. If you need to Automatch only particular ones, complete the wizard, select desired mailboxes and click Automatch on the ribbon.
- When you have selected all options, click Automatch now. The progress and the report will be visible in the bottom part of the window.
- In case the results do not meet your requirements, you can click Undo, change the settings and repeat the procedure.
If there are any Target mailboxes that have not been matched automatically, you need to link them manually. Otherwise, they will not be migrated.
- Manual matching
- If you chose this option, skip to Step 4 to complete the wizard and then come back here.
- On the Mailboxes list, hit Click to match target button for a desired mailbox. Then, either select the appropriate target mailbox from the list or type in the SMTP address.
- Click OK to confirm your decision. You must repeat the procedure for unmatched mailboxes.
If the Target server mailboxes are not listed please ensure that the connection has been established using the FQDN name, and the trust relationship is configured correctly. For further information, please consult this article.
Step 4: Customize all necessary aspects of the migration job
You may configure the following additional options:
- Scheduler - allows you to set the job to be automatically started in desired period of times, so you do not have to control it manually.
- Time filter - is used to exclude items that are older or newer than a particular date
- Folder filter - may completely exclude specific folders from the migration process
- Address rewrite - enables automatic conversion of EX addresses to the SMTP equivalents. This option needs to be enabled if you are performing cross-domain migration; otherwise you will not be able to reply to messages containing EX addresses.
- Concurrency - provides an option to define how many mailboxes should be migrated at same time. This number should correspond to the number of logical processors.
Step 5: Start the migration
Simply click Start on the ribbon to begin the migration.
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. We have published more details here.
Step 6: Check if the number of migrated items in the Target mailboxes matches the Source server mailboxes
If you notice any missing items in the Target mailbox restart the migration using the Rescan feature.
Please be aware that the program does not migrate some specific folders at all. Those are i.e. Sync Issues or ones created while putting a mailbox on a litigation hold.
If any problems appear during the migration process they will be indicated on the dashboard, pointed on the reports and logged in the log files. Check out the software's diagnostics.
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 migrated Source mailbox, just restart the migration using the Rescan feature. Please keep in mind that the Rescan feature uploads only new items, not changed ones.
III. Post-migration cleanup
Step 1: MX records
Change MX records with your domain registrar to enable mail flow to new servers instead of the old ones. 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' migration process is completed. It can be done using Rescan feature.
Step 2: The previous domain
Disconnect the previous domain and Exchange Servers.
If you have any problems with disconnecting your domain please consult your Domain Provider.