Monday, 7 December 2015

Exchange 2013 to 2016 Migration (Part 1)


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:

Lab environment

In this lab, we have a single Exchange server called litex01 in the domain which is running Exchange 2013 CU10. All clients connect using the name 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.

  1. 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.
  2. 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.
  3. Decommission any Exchange 2007 servers. These are simply not supported in an Exchange 2016 environment. Again, we won’t cover this in this post.
  4. Check that you meet the pre-requisites to install Exchange 2016 in your environment.
  5. Install Exchange 2016 in your environment
  6. Configure the Service Connection Point on the Exchange 2016 server
  7. Install the required SSL certificate on the Exchange 2016 server
  8. 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.
  9. Move mailboxes to Exchange 2016
  10. Move public folder mailboxes to Exchange 2016
  11. Migrate mail flow to Exchange 2016
  12. 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: 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:

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:

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. 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

Set-ClientAccessService -Identity litex02 -AutoDiscoverServiceInternalUri



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.


  1. Great, thanks for creating this article, it provides complete information about migrate exchange 2013 to exchange 2016, but i tested this solution ( ) which migrates any exchange server to exchange server 2016 or office 365 and provide facility to migrate mailbox and public folder data from any exchange server to another exchange server.

    1. Here is a tool that helped us in successful migration of mailboxes from Exchange 2013 to Exchange 2016 server with full accuracy and formats:

      This easy to use solution not only helps in migration but also in recovery of lost/damaged mailboxes.

      Good Luck!
      - Jerry

  2. I get this error when running the step "Run Exchange Setup":

    A previous version of Exchange Server is already installed on this computer. Run Exchange Server 2016 Setup from a different computer or remove the previous version of Exchange Server.

    1. This comment has been removed by the author.

    2. I'm done with Exchange server 2013 to 2016 mailboxes migration. Actually I already had a mailbox migration tool called Stellar mailbox extractor (for you reference: ) which did the migration without any hassle, so I haven't tested these migration steps in my lab yet. BTW, I appreciates the hard work of author for posting for such a knowledgeable and wonderful post. It will help all Exchange administrators (me too) who're planing to migrate mailboxes from current Exchange 2013 server environment to 2016.

      Absolutely great stuff!!

      Patrick Wood

    3. This comment has been removed by the author.

  3. Wanted to note, you need to run the powershell install command first before you run the Microsoft UCM 4.0 install. When I tried running the UCM first, it gave me an error that media foundations wasn't installed on my server.

  4. You're also forgetting to run the commands off the install disk on one of your AD servers:
    Setup.exe /PrepareSchema /IacceptExchangeServerLicenseTerms
    Setup.exe /PrepareAD /IacceptExchangeServerLicenseTerms

    1. This isn't actually necessary. It's good practice to do this first, but these commands will run automatically during the setup.

  5. I can´t run the Set-ClientAccessService cmdlet, i get the following error:
    The operation couldn´t be performed because object 'xxx' couldn´t be found on 'domain'

  6. Hi, Very nice description about StudentsOffice 365 Migration
    I like your web blog.Because whenever i come into your web blog
    then i always get the new interesting and important information in your web blog.

    Thank You

    Office 365 Migration

  7. Very well written blog about the window migration services.I appreciate your hard work. Thanks.
    windows 8 to 10 migration
    windows 10 packaging

  8. from someone who has done a lot of exchange migration you hit all the bases, this is helpful. thanks!

  9. I think the classiest thing you have done here Mark Gossa is create some visually stunning , but kept it highly accessible too - truly progressive. Lovely stuff! Office365