Microsoft ended support for Exchange 2010 back in October 2020. This means that you won’t get any updates, security fixes, or support from Microsoft. Thus, it is recommended to migrate Exchange 2010 to a newer version, such as Exchange 2019.
However, Exchange 2010 to 2019 Migration upgrade is not easy as you cannot directly migrate an on-premises Exchange 2010 to 2019 directly as both versions use different Active Directory Forest and can’t coexist in the same forest/environment. Therefore, you need to first move your Exchange 2010 to Exchange 2013 or 2016 version and then migrate to Exchange 2019.
In a nutshell,
Following are the steps to migrate Exchange 2010 to 2019.
To check the current Exchange version, open Exchange Management Shell (EMS) and enter the following command,
Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion
To update your Exchange server, download Microsoft Exchange 2010 SP3 setup and install it on your Exchange 2010 server.
Then download the SP3 Rollup 11 update and install it.
This is critical for Exchange 2010 and Exchange 2013/2016 coexistence.
For Exchange 2016, you must update Outlook client to 2010 or above on Windows and Outlook 2011 or above on Mac. Also, update to AD functional level 2008.
Now you need to install and set up Exchange 2016. Extract the Exchange setup files in a folder and then open Command Prompt as administrator. Navigate to the directory where you extracted the Exchange setup files and then follow these steps:
Run the following command to prepare the schema:
setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
After the schema is prepared, run the following command to prepare AD:
setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms
Now prepare your domain using the following command:
setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms
This completes the AD installation. Now, you can proceed with Exchange 2016 installation.
To install Exchange 2016, open the directory where you extracted the setup files and then run the Setup.exe file. Choose ‘Mailbox role’ during installation.
After installation, click ‘Finish.’ A new browser window will open and load the Exchange Admin Center (EAC). The web-based EAC in Exchange 2016 replaces the Exchange Management Console (EMC) in Exchange 2010.
Execute the following command in Exchange Management Shell to update the Service Connection Point for AutoDiscover.
Set-ClientAccessService -Identity E2016 -AutodiscoverServiceInternalURI https://<SMTP-address-domain>/autodiscover/autodiscover.xml
Open EAC and click on Servers. Select the Exchange 2016 server and then click the Edit icon. From the options, choose Outlook Anywhere option and then update the IMAP4 and DNS lookup settings with your server’s name.
Then use the iisreset command to restart the Internet Information Services (IIS).
By default, a database is created in Exchange 2016. The database resides in the C: drive. You can rename the database and then move it to a network drive or a different volume. The commands are as follows:
Get-MailboxDatabase -Server <Server> | Set-MailboxDatabase -Name EXCHB01
Move-DatabasePath -Identity EXCHDB01 -EdbFilePath E:\Databases\EXCHDB01\EXCHDB01.EDB -LogFolderPath E:\Databases\EXCHDB01_Log
The command output asks for confirmation. When allowed, it moves the database and logs files to the mentioned path.
Copy the below script and run it in Exchange Management Shell. This ensures that all URLs are routed via Exchange 2016.
$Server = “EnterYourServerName”
$HTTPS_FQDN = “mail.Yourdomain.com”
Get-OWAVirtualDirectory -Server $Server | Set-OWAVirtualDirectory -InternalURL “https://$($HTTPS_FQDN)/owa” -ExternalURL “https://$($HTTPS_FQDN)/owa”
Get-ECPVirtualDirectory -Server $Server | Set-ECPVirtualDirectory -InternalURL “https://$($HTTPS_FQDN)/ecp” -ExternalURL “https://$($HTTPS_FQDN)/ecp”
Get-OABVirtualDirectory -Server $Server | Set-OABVirtualDirectory -InternalURL “https://$($HTTPS_FQDN)/oab” -ExternalURL “https://$($HTTPS_FQDN)/oab”
Get-ActiveSyncVirtualDirectory -Server $Server | Set-ActiveSyncVirtualDirectory -InternalURL “https://$($HTTPS_FQDN)/Microsoft-Server-ActiveSync” -ExternalURL “https://$($HTTPS_FQDN)/Microsoft-Server-ActiveSync”
Get-WebServicesVirtualDirectory -Server $Server | Set-WebServicesVirtualDirectory -InternalURL “https://$($HTTPS_FQDN)/EWS/Exchange.asmx” -ExternalURL “https://$($HTTPS_FQDN)/EWS/Exchange.asmx”
Get-MapiVirtualDirectory -Server $Server | Set-MapiVirtualDirectory -InternalURL “https://$($HTTPS_FQDN)/mapi” -ExternalURL https://$($HTTPS_FQDN)/mapi
Now you can create a test user via EAC and check the server functionality. If everything works as intended, you can migrate the users from Exchange 2010 to Server 2016.
At this stage, you can go ahead and decommission the Exchange 2010 server. Before upgrading or deploying Exchange 2016 to Server 2019, you must ensure that there is no Exchange 2010 server in the forest. You cannot install Exchange 2019 until Exchange 2010 is removed from the environment.
Now check your Exchange 2016 server and upgrade the server to the latest cumulative update. Exchange 2016 and 2019 can coexist in the same environment.
Now that you have decommissioned Exchange 2010 and updated Exchange 2016 to the latest CU update, it’s time to set up and install Exchange 2019 server in the same environment. After installing the Server 2019, you don’t need to extend Schema, forest, or domain as it does for you.
Again, during installation, select ‘Mailbox role’ and proceed with the installation. This can take a while to complete. After the installation, reboot the server.
Now you can enter the product key to activate Exchange 2019 and then restart the ‘Microsoft Exchange Information Store’ service for changes to take effect.
To transfer certificate from Exchange 2016 to 2019, follow these steps:
In Exchange 2016 EAC:
In Exchange 2019:
You need to rename the default database and move it from its default C: drive location to a different volume. For this, you can use EAC or execute the following command in the Exchange Management Shell.
Get-MailboxDatabase -Server <Server> | Set-MailboxDatabase -Name EXCHB01
Move-DatabasePath -Identity EXCHDB01 -EdbFilePath E:\Databases\EXCHDB01\EXCHDB01.EDB -LogFolderPath E:\Databases\EXCHDB01_Log
Finally, you can migrate your Public Folder from Exchange 2016 to 2019 by using the following command:
Get-Mailbox -PublicFolder -Server OLD-SERVER-NAME | New-MoveRequest -TargetDatabase DESTINATION-MAILBOX-DATABASE
Similarly, you can migrate the Exchange mailboxes by using various Exchange Management Shell commands. Although you can also use EAC to migrate mailboxes, it’s not recommended. You can also use an EDB to PST converter software, such as Stellar Converter for EDB, to quickly migrate Public Folders and Mailboxes to the new live Exchange 2019. The software automatically maps the user mailboxes from source to destination. It also provides an option to create New Mailbox, if a mailbox is unavailable during migration. Stellar Converter for EDB extracts mailboxes from offline Exchange database files and saves them to Outlook importable PST format. You can then easily import the PST files into the live Exchange server. It can also export mailboxes directly to the live Exchange server and thus, helps you migrate mailboxes from Exchange 2010 to 2019 Migration without intermediary steps. This can save significant time, effort and helps avoid downtime.
After this, you can go ahead and uninstall/decommission the Exchange 2016 server using the following command.
cd “C:\Program Files\Microsoft\Exchange Server\V15\Bin
setup.exe /mode:uninstall
Optionally, you can keep both servers, if you want, for a while as Exchange 2013/2016 and 2019 can coexist.
Although Exchange 2010 to 2019 Migration upgradation isn’t straightforward, it makes sense to migrate Exchange to the latest available update. The newer version gets regular updates and security patches that keep your data and server safe from malicious attacks and reduces workload. By following this guide, you can migrate from Exchange 2010 to 2019 with ease.
In case you face any error during migration due to corruption in the Exchange database file, you can use an Exchange server database recovery software. The software helps you repair the corrupt EDB file and recover all mailbox items.
In case you need help, you may reach us via the comments section below.
Our habits always have a pattern. Be it related to sleeping hours, working, listening to…
On the social site Instagram, users can update their status as stories, which they can…
Because of various upgrades in technology, things have moved pretty fast and the competition level…
Ever since the term ‘Artificial Intelligence’ was coined, people desperately wanted to know what it…
In recent days, there has been a lot of discussion regarding the iPhone 16 Pro…
With a boatload of new additions, like Apple Intelligence and a dedicated Camera 'Button', the…