In this multi-part series, we’ll cover how to upgrade from Exchange 2013 to Exchange 2016. This will include setting up a CAS co-existence scenario, migrating mailboxes and services then eventually decommissioning the Exchange 2013 server.
At the time of writing, Microsoft have not yet updated the Exchange Deployment Assistant with instructions to migrate from Exchange 2013 to 2016 however there have been numerous blogs released about CAS coexistence which have helped write this article.
To read other parts in this series, go to:
- Exchange 2013 to 2016 Migration (Part 2)
- Exchange 2013 to 2016 Migration (Part 3)
- Exchange 2013 to 2016 Migration (Part 4)
- Exchange 2013 to 2016 Migration (Part 5)
- Exchange 2013 to 2016 Migration (Part 6)
In this lab, we have a single Exchange server called litex01 in the litwareinc.com domain which is running Exchange 2013 CU10. All clients connect using the name mail.litwareinc.com. We’ll install an Exchange 2016 server called litex02.
Exchange 2013 to 2016 Migration Overview
First of all, we’ll make a list of tasks that we’ll go through to migrate to Exchange 2016. We’ll just list these here then will go through the steps.
- Upgrade all Exchange 2013 servers to CU10 or later. This is a requirement before you can install Exchange 2016 in your environment. We won’t cover this in this post but it is here just for completeness.
- If you have any Exchange 2010 servers in your environment, these need to either be decommissioned or upgraded to SP3 UR11 or later. This won’t be covered in this post as we’ll focus more on the migration between 2013 and 2016.
- Decommission any Exchange 2007 servers. These are simply not supported in an Exchange 2016 environment. Again, we won’t cover this in this post.
- Check that you meet the pre-requisites to install Exchange 2016 in your environment.
- Install Exchange 2016 in your environment
- Configure the Service Connection Point on the Exchange 2016 server
- Install the required SSL certificate on the Exchange 2016 server
- Configure Exchange 2013 – 2016 CAS coexistence. There are different methods to do this. We’ll talk about them briefly and then I’ll demonstrate one of them briefly.
- Move mailboxes to Exchange 2016
- Move public folder mailboxes to Exchange 2016
- Migrate mail flow to Exchange 2016
- Decommission the Exchange 2013 server
Firstly, we’ll check that we meet the requirements for Exchange 2016 to be installed in our environment. System requirements can be found here: https://technet.microsoft.com/en-us/library/aa996719(v=exchg.160).aspx. Have a read and make sure that you meet these requirements.
The next step in our preparation is to read the release notes as this ensures you don’t have problems down the line. See here: https://technet.microsoft.com/en-us/library/jj150489(v=exchg.160).aspx.
Size up your server correctly. This ensures that you have enough RAM, CPU and storage resources available for your server to perform correctly. Essentially, Exchange 2016 is sized the same as an Exchange 2013 multirole server but requires additional compute resources. See here for more information: http://blogs.technet.com/b/exchange/archive/2015/10/15/ask-the-perf-guy-sizing-exchange-2016-deployments.aspx.
Check that your clients are supported. Windows clients need Outlook 2010 with KB2965295, Outlook 2013 or Outlook 2016. As for Mac clients, you need Outlook for Mac 2011 or Outlook for Mac for Office 365. Upgrade your clients if needed. You’ll note here that Outlook 2007 was supported for Exchange 2013 but is no longer supported for Exchange 2016. The same is for Entourage 2008 for Mac.
Now that all the reading is out the way, (if you didn’t read it, shame on you!), we can start building the new Exchange 2016 server. Build your server and install a supported OS (either Server 2012 Standard or Datacenter or Server 2012 R2 Standard or Datacenter). In this case, we’ll use Server 2012 R2. Once installed, join to your domain and install windows updates.
Install Exchange 2016
Once you've gone through the preparation steps above, it's now time to install Exchange.
The recommendation from Microsoft for Exchange 2013 was to install multi-role servers but with Exchange 2016, the CAS and MBX roles have been merged so installing multi-role servers is no longer possible.
Assign correct permissions
For the first Exchange server in the organization, the user that performing the install must be a member of the Enterprise Admins and Schema Admins group in AD and a member of the local admins group on the server you are installing Exchange on.
We'll now go on to install the pre-requisites for Exchange 2016.
Install .Net 4.5.2
Install .Net 4.5.2 from here. Accept the license terms and click install:
Install Windows Management Framework 4.0
If you are not using Server 2012 R2 then you also need to install the Windows Management Framework 4.0. In our case we are using Server 2012 R2 so this is not required.
Install the Unified Messaging Communications Managed API 4.0 Runtime
Download the UMCM API from here and install as below:
Install the required Windows features
Use the below command to install the required Windows features. This command needs to be run on a single line and run from a PowerShell window with elevated privileges. Those who can remember extremely long PowerShell strings will note that this is the same list of features required for Exchange 2013.
Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-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, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation,RSAT-ADDS
The AD tools are included in the above command - this prevents issues with AD operations and the EXSetup program.
Download Exchange 2016
Download Exchange 2016 from here or the latest Exchange CU. The Cumulative Update includes the entire Exchange package. There is no need to install Exchange then install the CU.
Once downloaded, double click to extract Exchange.
Select a location to extract the files to. In this demo, we're extracting to C:\temp\Exchange2013-x64-cu10.
Run Exchange Setup
Once extracted, open up the location you have extracted to and double click on Setup.exe:
You should then be presented with a window to report a successful installation.
Confirm the installation was successful
To do this, run the command below. This will list all the Exchange servers, their roles and version. Check that your new Exchange server is listed with all the required roles.
Also, review the setup log for any issues. This log file is C:\ExchangeSetupLogs\ExchangeSetup.log.
Configure the Service Connection Point
The Service Connection Point (SCP) is an attribute on the Exchange server object stored in AD which directs domain-joined Outlook clients to a URL to retrieve autodiscover settings. By default this is the FQDN of the server, e.g. https://litex02.litwareinc.com/autodiscover/autodiscover.xml. You need to change this immediately to stop Outlook clients connecting to it and getting a certificate warning when they are presented with the default self-signed certificate that is installed by Exchange. We’ll configure the SCP to reference our Exchange 2013 endpoint, in this case https://mail.litwareinc.com/autodiscover/autodiscover.xml:
Set-ClientAccessService -Identity litex02 -AutoDiscoverServiceInternalUri https://mail.litwareinc.com/autodiscover/autodiscover.xml
At the end of the first part, we’ve now prepared for and installed Exchange 2016 into our Exchange 2013 environment and configured the SCP. In the next post, we’ll install an SSL certificate on Exchange 2016 and configure Exchange 2013 – 2016 coexistence which prepares us for the mailbox migration. Click here for part 2.