Updated On - February 4, 2023 by Armaan |Reading Time: 9 minutes
Exchange 2019 is the latest upgrade of Exchange and is laced with seberal new advanced features. Due to its advanced features, there is a boom of migrating Exchange 2010/2013/2016 to latest 2019 version. There are mainly two reasons behind it and in this write-up, we’ll know these reasons along with the manual guide to migrate Exchange 2010/2013/2016 to 2019 from any older version. Let’s start with the reasons:
Why there is a boom of migrating into Exchange 2019?
As you know, after every ten years, Microsoft ends the technical support for its particular Exchange version.For example, Exchange 2010 is released on November 2009 and reached its end of life on (No technical support and maintenance, upgrades, bug solving) October 2020. Same as Exchange 2010 other Exchange versions also reached their End-of-life after 10 years. Therefor Exchange 2019 is the safest bet to shift because it is the latest and will reach its end of life in 2019.
Another reason to migrate Exchange 2010/2013/2016 into Exchange 2019 is Exchange 2019’s features. It has lots of features that will effectively boost your productivity and reduce your expenses.
So now let’s know the ways to migrate into Exchange 2019.
How to migrate Exchange Server (2010,2013, 2016) into Exchange 2019?
There are two ways to migrate Exchange Server to the latest version one is by using manual method called Exchange Admin Center and another one is using an automated software. First, I am describing the manual method which goes as follows:
Pre-requisites to Upgrade from Exchange 2013 to 2019
Before beginning an Exchange 2013 to Exchange 2019 migration, you must verify the following.
- Apply the most recent Cumulative Update (CU) for Exchange 2013 and CU23 (published in July 2021).
- Active Directory servers must run Windows Server 2012 R2 or later to participate in a forest with other servers running Windows Server 2012 R2 or later.
- It’s important to ensure that any Windows 2008 R2 domain controllers are shut down before start upgrading Exchange 2013 to Exchange 2019.
- Confirm that you’re using Outlook 2013 and later.
Take note: Exchange 2019 doesn’t offer any Unified Messanging (UM). Due to which, Lync or Skype for Business’ voicemails can’t be saved in their inboxes, so you’ve to find a different option fro this such as: CX-E or Azure Voicemail on Office 365.
Migrate Exchange Server 2013 to 2019: Next Steps
- Deploy Exchange 2019
- Install Microsoft Windows Server 2019 Setup
- Install Exchange 2019 Prerequisites
- You should have .Net Framework 4.8
- Visual Studio 2012 and 2013 Redistributable Package for Visual C++
- Windows features, Remote Tool and an Administration Pack,
- Run setup wizard and install Exchange 2019
- Configure Outlook anywhere
- Configure Service Connection Point
- Import Exchange 2013 Certificates into Exchange 2019
- You can use PowerShell cmdlets and Exchange Admin center to export and import certificates
- Setup Exchange 2019 Virtual Directories
- Set up Exchange 2019 Virtual Directories using Exchange Admin Center or Exchange management shell
- Maintain Current DNS Records
- Upgrade to Exchange Server 2019 and migrate mailboxes from Exchange 2013
- You can use EAC or EMS to move maliboxes
- At last, decommission Exchange 2013 server
Deploy 2019 Exchange
Install Windows Server 2019 on a virtual or physical server.
Install Windows Server 2019 Standard or Datacenter on a virtual or physical server. There is still support for the Desktop Experience in Windows Server 201 9 Core, which is Microsoft’s recommended method for installing Exchange 2019. Now, the ball is in your court; make your decision. No other OS is compatible with it.
If you want to install Management Tools on your computer make sure you’re using a 64-bit version of Windows 10. Update the operating system and add the following programs after you’ve set up Windows Server 2019.
Prerequisites for Exchange 2019 Installation
- Install .NET 4.7.2 or later (recommended 4.8)
- Install .NET 4.8 on your Windows Server 2019 system and run it as an administrator.
- Check the license box and Click “Install”.
- Select “Finish” when the setup is complete.
- After that, select “Restart Now.”
Install the Visual C++ Redistributable Package for Visual Studio 2012 or 2013.
Install the C++ Redistributed Package for visual studio 2012 and 2013 and run it as administrators.
- Using the following PowerShell command, you can quickly and easily install the Remote Tool Administration Pack and related Windows capabilities.
Web-Mgt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors; Install-WindowsFeature NET-Framework-45-Features; RSAT-ADDS; RPC-over-HTTP
Install Exchange Server 2019 with Setup Wizard
Connect the Exchange Server 2019 DVD or USB flash drive to the server computer and mount the ISO file. Then type cd (change directory) into the Command Prompt window to get to where Setup.exe is stored.
Now, in the Command Prompt window, type the following command to ready the Schema and the Active Directory.
Installer.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
Setup.exe /PrepareAD /OrganizationName:”Regain Software”
Once done with above command, start the installation. Verify you’ve installed all the lasted pre-rerequisites.
- Open the Setup.exe program.
- Simply proceed by clicking the “Next” option.
- After reading and accepting the license agreement, you must click the “Next” button.
- Choose the “Recommended settings” option, then press “Next.”
- On the Server Role Selection page, select Mailbox Role and Management Tools, then click “Automatically install Windows Server roles and features required to install Exchange Server.”
- To install Exchange Server, select a destination and click “Next” (Make sure not to install Exchange on the system drive).
- Type in the company’s name and proceed by clicking “Next.”
- Now select No on the Malware protection page.
- Now the installation will begin. At last, check for updates to see if there are any.
Configure Outlook Anywhere
- Go to Exchange Admin center and click on the “servers” tab.
- Now choose the Exchange 2019 Server and click the Edit button.
- Update the internal and external FQDNs (Fully Qualified Domain Name). Click “Save.”
Setup the Service Connection Point (SCP)
Now you need to configure the Service Connection Point (SCP). An attribute of Exchange Server found in the Active Directory schema and is responsible for pointing Outlook clients that are part of a domain to the server through auto-discovery. The new server will become the default. Since a self-signed certificate is used by default during installation, you must temporarily prevent users from connecting to the new server. The following PowerShell cmdlet allows you to modify this:
Using the command: Set-ClientAccessService -Identity ExchangeServer2019 -AutoDiscoverServiceInternalUri https://mail.mydomainname.com/Autodiscover/Autodiscover.xml
Users will be sent to the live server after this is done.
Import the certificates into Exchange 2019
Now import the certificates into the replacement server, you can use the PowerShell commands or the Exchange Admin Center.
Certificates to Export and Import Via EAC
- Launch Exchange Admin Center, then go to Servers > Certificate.
- Then, after making your selection, right-click the certificate and select “Export Exchange Certificate.”
- Provide a password and the UNC path to export the certificate and hit the “Ok” button.
Copy the certificate from the UNC path on Exchange 2013 Server to an external storage device. Once you’ve opened the Exchange Admin Center in Exchange 2019, you can import the certificate by following these steps:
- Go to Servers > Certificate. Now select the three dots (…) to and click on the import exchange certificate option.
- Specify the UNC path of the certificate’s storage and provide the password. To proceed, tap the “Next” button.
- Select the server you wish to use to install the certificate, then click “Finish.”
Now assign the imported certificates to the POP, IMAP, IIS, and SMTP services.
- Once you import the certificates, select them and then click the “Edit” option.
- To enable POP, IMAP, IIS, and SMTP, go to “services” and chek the adjacent checkboxes.
- Simply select “Save” from the menu.
Certificate Import and Export with PowerShell
The below PowerShell cmdlet must be used initially to determine which certificates will be transferred.
Get-ExchangeCertificate | flThumbprint,NotAfter,Issuer,CertificateDomains,Services
To help you identify certificates and the services they should be used for, this will outputs a list of certifications, their thumbprints, and the associated benefits. To transfer the certificate to the Exchange 2019 server, use the following PowerShell cmdlet on the Exchange 2013 server.
$CertPass = ConvertTo-SecureString “LetMeIn” -AsPlainText –Force
Export-ExchangeCertificate -Thumbprint C87C1CBA43733D177B2679BC825808C7BECC659B -FileName C:\temp\Exchange2013Certificate.pfx -Password $CertPass | Out-Null
After that is complete, make sure you remember the password. If you ever forget your password, you may simply repeat the steps above to create a new one. To use this with Exchange Server 2019, copy the file and then perform the following PowerShell command:
$CertPass = ConvertTo-SecureString “LetMeIn” -AsPlainText –Force
Import-ExchangeCertificate -FileName C:\temp\Exchange2013Certificate.pfx -PrivateKeyExportable $true –
Password $CertPass | Enable-ExchangeCertificate –Services POP,IMAP,IIS,SMTP –DoNotRequireSsl
Once the certificate has been imported, it can be used with SMTP, IMAP, and IIS.
Setup Virtual Directories
Following, configure the Outlook Anywhere URLs for both internal and external access. To create a virtual directory,
- Head to servers > virtual directories.
- Select OWA as the connection type.
- Log into OWA, and then select Authentication.
- Ensure “Use forms-based authentication” is checked, then enter your domain/username if you’d rather not, feel free to select another alternative.
- Simply select “Save” from the menu.
Now modify the internal and external virtual directory URLs for Outlook Anywhere, OWA, ECP, Web Services, ActiveSync, Offline Address Book, and MAPI. Once again, the virtual directories can be set up by either the command line interface or the Exchange Admin Center.
Update Virtual Directories Using EAC
Specifically, here is what you need to do:
- Go to EAC, navigate to “servers” > “virtual directories” section.
- Copy and paste the FQDN into the Internal URL and External URL section or enter it manually.
- Repeating the preceding steps ensures that the internal and External URL fields are updated for ECP, oab, ActiveSync, web services, and mapi.
Using PowerShell Cmdlets to Set and Update virtual directories.
The following Command must be executed on Exchange 2019.
Get-OutlookAnywhere -Server srvexc2019 | Set-OutlookAnywhere -InternalHostnameex02.mydomain.com -InternalClientAuthenticationMethodNtlm -InternalClientsRequireSsl $true -ExternalHostnameex02.mydomain.com -ExternalClientAuthenticationMethod Basic -ExternalClientsRequireSsl $true -IISAuthenticationMethodsNegotiate,NTLM,Basic
Get-EcpVirtualDirectory -Server srvexc2019 | Set-EcpVirtualDirectory -InternalUrl https://ex02/mydomain.com/ecp -ExternalUrl https://ex02.mydomain.com/ecp
Get-OwaVirtualDirectory -Server srvexc2019 | Set-OwaVirtualDirectory -InternalUrl https://ex01.mydomain.com/owa -ExternalUrl https://ex02.mydomain.com/owa
Get-WebServicesVirtualDirectory -Server srvexc2019 | Set-WebServicesVirtualDirectory -InternalUrl https://ex02.mydomain.com/EWS/Exchange.asmx -ExternalUrl https://ex02.mydomain.com/EWS/Exchange.asmx
Get-ActiveSyncVirtualDirectory -Server srvexc2019 | Set-ActiveSyncVirtualDirectory -InternalUrl https://ex02.mydomain.com/Microsoft-Server-ActiveSync -ExternalUrl https://ex02.mydomain.com/Microsoft-Server-ActiveSync
Get-OabVirtualDirectory -Server srvexc2019 | Set-OabVirtualDirectory -InternalUrl https://ex01.mydomain.com/OAB -ExternalUrl https://ex02.mydomain.com/OAB
Get-MapiVirtualDirectory -Server srvexc2019 | Set-MapiVirtualDirectory -InternalUrl https://ex02.mydomain.com/mapi -ExternalUrl https://ex02.mydomain.com/mapi
Simply substitute your domain name with the one in the Command (URL).
Recycle the MSExchangeAutodiscoverAppPool Application Pool to ensure the changes. To accomplish this,
- Launch IIS, expand the server node, and then select Application Pools to do this.
- Locate the application pool and make a click on Recycle.
Change the Domain Name System Records
With the new Exchange 2019 Server’s IP address and hostname in place, the DNS records may be updated to reflect the new URLs. Make sure that any NAT port forwarding currently set up for Exchange 2013 is likewise set up for Exchange 2019. This can be done by contacting your network team.
The Exchange 2019 server needs access to all ports currently used by Exchange 2013. The Exchange 2019 Server should replace any previous internal or external relays. You should now update the previously created SCP record to point to Exchange 2019 rather than 2013.
Users should now be able to access Exchange 2019 as their Exchange Server while being redirected to their mailboxes on Exchange 2013. It is now time to update all of the MFDs so that they connect with the new Exchange 2019 server. Set up the server’s transport rules to allow the devices to connect.
It’s important to update and disseminate the new URL internally as well. Start by establishing a connection to Outlook, and then examine the Outlook Connection status to ensure that it is communicating with the correct Exchange Server.
Migrating Mailboxes from Exchange 2013 to Exchange 2019
The next thing to do is to upgrade your current Exchange Server 2013 to Exchange Server 2019. A migration batch job will be created to accomplish this. The Exchange Admin Center or the Exchange Management Shell can be used to generate the migration batch.
Initiate a Batch Migration of Mailboxes using EAC
- Go to the Recipients section of the EAC. Go to Migration, then click the + symbol and select Move to a different Database option.
- Pick the mailboxes you want to transfer, and then click Next.
- Next, choose whether to migrate everything, a single mailbox or the archive mailbox exclusively.
- Choose the database to which you want to send mail and store it, then click Next. Depending on the size and scope of the operation, multiple mailboxes may be selected simultaneously.
Exchange Management Shell: Batch-Migrate Email Accounts
Specifically, here is what you need to do:
- The following PowerShell command must be entered into the Exchange Management Shell:
Get-Mailbox -Database MBX-DB-2013 | New-MoveRequest -TargetDatabase DB19 -BatchName “DB13toDB19”
- To finish the mailbox relocation, please also transfer any correspondence pertaining to the Arbitration department.
Get-Mailbox -server ExchangeServer2013 -Arbitration |New-MoveRequest
- Use this Command to see how far along it is:
Get-MoveRequest | Get-MoveRequestStatistics
Decommission your Existing Exchange Server
It is crucial to decommission the Exchange Server properly. Proceed as follows once you’ve logged into EAC. The procedure is as follows:
- Go to Mail flow and then select Send Connector.
- Make double click on send connector name and navigate to Scoping.
After you’ve relocated every mailbox, you can delete them from Exchange Server 2013 with a simple command in EAC or EMS (as given below).
Get-MailboxDatabase –Server ExchangeServer2013 | Remove-MailboxDatabase
Finally, head to the Control Panel on the current server and remove Exchange 2013. The Exchange 2013 server should then be powered down.
With that, the Exchange Server has been completely shut down. The transfer to the new Exchange Server is finished at this point.
So, it is the manual approach to migrate Exchange 2010/2013/2016 to 2019 mailboxes, but it is not likely for you. I’ll suggest using an automated tool named Regain Exchange Migration tool.
An automated solution to migrate Exchange 2010/2013/2016 to Exchange 2019
Regain EDB to PST Converter tool allows to add EDB files of any Exchange variant and to move them into any other Exchange mailbox. The tool is laced with several advanced features, completely eliminating the risk of data loss and automating the process.
You can have its free version and check the tool’s skills and compatibility with your Exchange upgrade environment. So, what are you waiting for? Install the free version and move the first 30 items per folder now.