Installing Exchange 2016 on Windows Server 2012 R2

November 2, 2016 Travis Hall

Many times in previous Exchange upgrade/migration engagements, I have come onsite to the customer’s environment to find that they have already made an unsuccessful attempt to begin installing the new Exchange infrastructure. Many times this is due to simple things, like not properly patching the servers first, or maybe not having the proper permissions in Active Directory to make the necessary schema changes. 

In this blog, I am going to walk you through the high-level steps to properly install Exchange 2016 on Windows Server 2012 R2. 

NOTE: These steps are done in a lab setting, and may not necessarily represent the settings you will need to configure in your environment. This post does not include the necessary steps to configure Exchange after installation.

Before you begin…

  • Make sure that the functional level of your forest is at least Windows Server 2008, and that the schema master is running Windows Server 2008 or later.
  • The full installation option of Windows Server 2012 and Windows Server 2012 R2 must be used for all servers running Exchange 2016 server roles or management tools.
  • You must first join the computer to the appropriate internal Active Directory forest and domain.
  • Some prerequisites require you to reboot the server to complete installation.
  • Install the latest Windows updates on your computer.

Active Directory and Server Preparation
A new installation of Exchange 2016 will require that the AD schema and domain are updated. You will need an account with membership to Domain Admins, Schema Admins and Enterprise Admins groups. Also you will need to ensure RSAT-ADDS and .NET Framework 4.5.2 are installed on the server.

Install RSAT
Open an Administrative PowerShell and run the following command:

Install-Windows Feature RSAT-ADDS

Install Windows Components
Once RSAT is successfully installed, we need to add the Windows Components for Exchange 2016. On the same Admin PowerShell run 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

Install .NET 4.5.2
You must download .NET Framework 4.5.2 and install it on the server before Exchange will install successfully. You can find the download here: 

Simply download and run the file then follow the on screen prompts. This may take about 5-10 minutes to complete. Once complete you will see the following screen:

Click Finish and restart the server.

Install UCMA 4.0 Core Runtime
You must also download and install the Unified Communications Managed API 4.0 Core Runtime for Exchange to install successfully. The download can be found here:

Simply download and run the file then follow the on screen prompts. Once complete you should see the following screen:

Click Finish and restart the server.

Extend AD Schema
Open an Administrative Command Prompt and navigate to the directory where your Exchange 2016 install files are located. If you have these files on a shared drive, it would be best to copy them to a local drive on the server. In my example below I have extracted all the Exchange 2016 installation files to a folder called “Install” located on the local E:\ drive.

cd /d e:\Install

Now we can prepare the AD Schema with the following command:

Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms

Give this some time to replicate throughout AD once completed. If you have a large AD environment, this could take a while before all domain controllers have the updated changes.

Prepare AD
Now that the Schema has been extended and all domain controllers are up to date, we need to prepare AD itself. When you run the next command to prepare Active Directory for Exchange, you’ll need to name the Exchange organization. This name is used internally by Exchange and isn’t normally seen by users. The name of the company where Exchange is being installed is often used for the organization name. The name you use won’t affect the functionality of Exchange or determine what you can use for email addresses. You can name it anything you want, as long as you keep the following in mind:

  • You can use any uppercase or lowercase letters from A to Z.
  • You can use numbers 0 to 9.
  • The name can contain spaces as long as they’re not at the beginning or end of the name.
  • You can use a hyphen or dash in the name.
  • The name can be up to 64 characters but can’t be blank.
  • The name can’t be changed after it’s set.

Setup.exe /PrepareAD /OrganizationName:”<organization name>” /IAcceptExchangeServerLicenseTerms

Prepare AD Domains
To prepare all of your Active Directory domains, you can use thePrepareAllDomains parameter when you run Setup. Setup will prepare every domain for Exchange in your Active Directory forest for you.

Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms

Install Exchange 2016

Now we are ready to run the Exchange 2016 Setup Wizard. In File Explorer, navigate to the location of the installation files. Find “setup” and right-click on it to Run as administrator.

The Setup Wizard will start by checking for updates. Select the option to Connect to the Internet and check for updates.

If updates are found, install them. Otherwise move forward by clicking Next. This will begin copying the necessary files for Exchange 2016. Once complete click Next again and you will be prompted to Accept the License Agreement. Select “I accept the terms in the license agreement” and click Next.