Monday, December 5, 2016

Exchange 2016 CU3 - updated pre-requisites, Active Directory preparation... and a word of caution.

This is my first blog post about Exchange 2016 CU3 (cumulative update 3). In fact, I had composed a blog post about the installation of the pre-release version of Exchange 2016 on July 26, 2015. In  an effort to avoid needless repetition, I will refer the reader to that blog post for general information about hardware and software pre-requisites. Only updates or corrections will be presented below.

Exchange 2016 (Preview) - original blog post on preview version

Here is the link to the Exchange 2016 system requirements:

Exchange 2016 system requirements

In the following paragraphs, I will concentrate on changes in system requirements since my original post in July 2015.



No significant changes

Operating system

Besides Windows Server 2012 and 2012 R2, the most recent Microsoft documentation lists Windows Server 2016 (Standard or Data Center) as a supported operating system on which Exchange 2016 can be installed. However, for Server 2016, the minimal version of Exchange 2016 is CU3.

In the title to this post, I implied there would be a word of caution (a warning) and here it is...

Although Windows 2016 Server is officially supported, a very serious problem affects Exchange 2016 on this platform when the server is part of a Database Availability Group (or "DAG"), so serious that Microsoft recommends that we do not install Exchange 2016 (CU3) on Windows 2016 Server. We should use Windows 2012 R2 instead.

You can read the statement made by the Microsoft Exchange team on their blog "You Had Me At EHLO":

The message was posted on November 4th, 2016 and as of December 5th no solution has been announced (besides the recommendation to use Windows 2012 R2 instead).


Windows 10 is now supported for Management Tools.

Active Directory

No significant changes except the addition of Windows 2016 domain controllers as supported domain controllers.

Coexistence with previous versions of Exchange

The minimal versions of Exchange 2010 and 2013 are currently:

  • Exchange 2010 SP3 Rollup 11 (Rollup 15 is the latest rollup at the time of this writing)
  • Exchange 2013 CU10



I will change the installation order for the Exchange 2016 pre-requisites and Active Directory schema extensions (compared to the order in my blog post on the Exchange 2016 pre-release).

All the actions below were taken on the future Exchange 2016 server (unless otherwise indicated).

Note: this server is a domain member with TCP/IP settings configured for such an environment. I will not detail the basic configuration of the server here. We should also make sure that we connect as a user that not only has administrative rights to the server itself but also has the status of domain, enterprise and schema administrators. In particular, this is necessary for the preparation of Active Directory. 

Step 1 - Install required roles and features

On the future Exchange server, we open a PowerShell prompt and execute the following command:

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

Note: yes, you can copy and paste. No need to retype!

Step 2 - Install .NET Framework 4.5.2

My test server is running Windows 2012 R2. If you are using a different operating system, check the system requirements for the proper .NET version. I have found that Windows Update installs this version of .NET on Windows 2012 R2 (at least if you select it...). Otherwise, download the offline installer.

.NET 4.5.2 Offline Installer

Step 3 - Install "Unified Communications Managed API"

Unified Communications Managed API 4.0 Runtime

Step 4 - Prepare the Active Directory schema

First, we download the Exchange 2016 CU3 installation files on the future Exchange 2016 server...

Cumulative Update 3 for Exchange Server 2016 (KB3152589)

After navigating to the location where we saved the files, we execute this command:

setup /ps /IAcceptExchangeServerLicenseTerms

Note: /ps is a shortcut for /PrepareSchema.

At first, I attempted to install Exchange 2016 CU3 in an existing Exchange 2010 SP3 / Office 365 hybrid environment and encountered an error:

A hybrid deployment with Office 365 has been detected. Please ensure that you are running setup with the /TenantOrganizationConfig switch. To use the TenantOrganizationConfig switch you must first connect to your Exchange Online tenant via PowerShell and execute the following command: "Get-OrganizationConfig | Export-Clixml -Path MyTenantOrganizationConfig.XML". Once the XML file has been generated, run setup with the TenantOrganizationConfig switch as follows "/TenantOrganizationConfig MyTenantOrganizationConfig.XML".

Error when you run Setup /PrepareSchema to prepare the schema for an existing Exchange hybrid environment

So we have to do two things:

  1. Create the MyTenantOrganizationConfig.xml file.
  2. Re-run the command with the /p (or /PrepareAD switch) instead of the /ps switch AND add the /TenantOrganizationConfig switch, designating the .xml file created in step 1.

This was the detailed solution:

Exchange 2010 hybrid environment - Get-OrganizationConfig

But I was still not able to upgrade the schema and prepare Active Directory.

Once again, I will refer the reader to the TechNet discussion that finally resulted in a solution:

MyTenantOrganizationConfig error

However, I will summarize...

After consultation with someone from Microsoft, I disabled the hybrid detection function with a registry change at the following location on the (future) Exchange server:


Note: create the keys when necessary.

Here is the registry change (yes, REG_SZ):

Disabling hybrid detection allowed the setup /PrepareAD command to complete.

I have to hope this will not cause other problems in the future.


Now I am ready to install Exchange 2016 CU3.

However, I will wait to do so in my hybrid environment because my priorities have very recently changed and I need to experiment with some aspects of Office 365. I'm not sure what effect installing Exchange 2016 would have. If it forced me to manage the hybrid environment from Exchange 2016 (and not Exchange 2010 anymore), my testing with Office 365 may produce inaccurate results.

Because of this, I will probably (after all the above...) opt to install Exchange 2016 in another ("clean") test environment so I can continue experimenting with the functions of Office 365 that interest me.


  1. Note to readers: the problem with Windows 2016 has been resolved. As for the .NET Framework version, Exchange 2016 CU5 is compatible with version 4.6.2 (which is preferred). Please check the updated Exchange 2016 requirements (link above) for the latest information. It may have changed yet again.

  2. Innovativeness of author is absolutely great. It has touched to the level of aptitude with his written work. Everything is up to the check. Composed splendidly and I can utilize such data for my coming task.
    HPE WinServ 2012 R2 Standard