Exchange 2013 – Deploying, Configuring & Upgrading – Part 1

MS Exchange

This is part one of an article series which goes through deploying, configuring and upgrading Exchange 2013 in detail.

Exchange is the most popular and widely used email platform and the latest release brings lot of new features and changes to the architecture. In this multi-part article series, we will go through an overview of Exchange 2013, steps to deploy the RTM version, configure the server with all options for production use including DAG and finally upgrade it to Cumulative Update 1 (CU1). There is a lot to cover, let’s get started.

Changes in 2013:

Going over all the changes in 2013 is an article series in itself. Below are the main ones to get you started.

Exchange 2013 has only two roles – Mailbox & Client Access, compared to the five roles in 2010. An Edge role for 2013 is expected later on. We can use 2010 Edge in a 2013 deployment for the time being.

The 2013 Mailbox role does a lot more job than in 2010. Everything to do with a mailbox is done by the mailbox server. Client Access server in 2013 is a stateless server, which performs three main functions – authentication, proxying and redirection. It doesn’t store any data, not even in the message queues.

A layer 4 hardware load balancer can be used to load balance the CAS servers, thereby reducing the cost and complexity.

The Exchange Management Console that we are all familiar with from the 2007 days is not available in 2013. Instead, the EMC & ECP in 2010 has been brought together into a single web based console called the Exchange Administration Center (EAC). The Exchange Management Shell is the other way to manage a 2013 deployment.

Outlook 2007 & above are the supported clients for Exchange 2013. The much known MAPI access has been dropped and is replaced with Outlook Anywhere – for internal & external Outlook connections.

Public folders have been given a face lift and are now part of the DAG with a single master replication model.

Exchange 2013 RTM Deployment:

Minimum Requirements:

The forest functional level should be Windows Server 2003 or higher. There should be atleast one global catalog in the AD site where Exchange 2013 will be installed. The global catalog and schema master should be running Windows 2003 SP2 or higher. It is recommended to keep IPv6 enabled on all Exchange 2013 servers. Windows Server 2008 SP1 or higher is required as the operating system for 2013.

If you are running Exchange 2013 on Windows Server 2012, both CAS and Mailbox role requires only the standard edition of 2012. If the base OS is Windows 2008 R2 SP1, the Mailbox role requires Enterprise edition (if DAG is needed), while CAS is fine with Standard edition.

Lab Environment:

In this multi-part series, we will use a Windows 2012 domain controller, two 2013 Mailbox servers and two CAS servers. The Mailbox servers will be configured as part of a Database Availability Group (DAG) and the CAS servers will be load balanced using a layer 4 load balancer. All Exchange servers will be running on Windows 2012 with the latest updates.

A snapshot of the lab that we are using is given below.

Domain HEW.LOCAL
Functional Level Windows 2012
Domain Controller DC1
Mailbox Server 1 MBX1
Mailbox Server 2 MBX2
CAS Server 1 CAS1
CAS Server 2 CAS2
Windows 7 with Outlook 2010 Win7
Windows 7 with Outlook 2013 Win713

It is recommended to have multi-role servers wherever possible in a production network. I am going with role separation in this series to slice out the options required for each role.

Install Exchange 2013 Prerequisites:

Now that all the servers have been built and are part of the HEW.LOCAL domain, let’s go ahead with installing the prerequisites.

There are two ways of installing the prerequisites required for Exchange 2013. The easiest way is to run the Install-WindowsFeature command with all the features required in a PowerShell window. Unlike in Windows 2008 R2, you don’t have to import the server manager module into a 2012 PowerShell window. The required modules are automatically loaded when the command is run.

2013 Prerequisites Installation – Method 1:

To install the prerequisites, open up an elevated PowerShell window and run the command below.

For Mailbox Role:

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

For CAS Role:

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

The RSAT-ADDS installs the Remote Administration tools for AD, which is a requirement if you want to extend the AD schema. It will also bring the familiar AD Users & Computers snap-in on the Exchange server. The “-Restart” at the end will restart the server automatically after the prerequisites are installed.

Once the server is restarted, next step is to install the Unified Communications Managed API.

Exchange 2013 requires Unified Communications Managed API Runtime (UCMA) 4.0. Download the file and run the executable. You need to agree to the terms and conditions for the installation to complete.

UCMA

This completes the prerequisites installation using the first method.

2013 Prerequisites Installation – Method 2:

The second way of installing the prerequisites is to use the option in the 2013 setup to install the windows features that are required by Exchange. This can be used for both the server roles.

Install Windows Feature Exchange 2013

But, Unified Communications Managed API has to be installed before the Exchange 2013 setup and in order to install UCMA, the Windows Desktop Experience feature is required. Hence, open up an elevated PowerShell window and run the command below.

Install-WindowsFeature Desktop-Experience 

Desktop Experience

The server needs to be restarted after the feature is installed successfully. Once the server is back online, run the UCMA & complete the installation by clicking Next & agreeing to the license. The rest of the required features will be installed by the Exchange 2013 setup.

Now that the prerequisites are installed, let’s go ahead with the Exchange installation on the Mailbox server. It is recommended to install Exchange on the Mailbox server first and then the CAS. Installing the CAS first will not break the environment, but you won’t be able to manage the environment until a Mailbox server is installed as the PowerShell endpoint is a mailbox server.

Prepare Schema, AD & Domain

While Exchange 2013 setup takes care of preparing the schema, AD and domain, it is nice to have it done manually from the command prompt, especially if you have a large organization with replication delays due to the AD site topology.

Prepare Schema

In order to prepare the schema, run the following command from an elevated command prompt after browsing to the Exchange 2013 DVD/ISO. Note that there is no more Setup.Com in Exchange 2013.

Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms

You will need Enterprise Admins and Schema Admins rights. The command has to be run on a 64-bit computer in the same domain and in the same AD site as the schema master. I will run it from MBX1, as the remote administration tools (RSAT-ADDS) have been installed on the server. You can run it from the domain controller as well.

After the command is run, wait for the changes to replicate across your Exchange organization before continuing to the next step. The amount of time this takes depends on your AD site topology.

The above command will connect to the schema master and import the LDIF files to update the schema with Exchange 2013 specific attributes. The LDIF files are copied to the Temp directory on the server and then deleted after they are imported into the schema.

Prepare AD

If you skip the prepare schema step explained above, preparing the AD will go ahead and prepare the schema first. In order to prepare the AD, run the following command from an elevated command prompt after browsing to the Exchange 2013 DVD/ISO.

Setup.exe /PrepareAD /OrganizationName:HEWOrg /IAcceptExchangeServerLicenseTerms

The “/OrganizationName” is only required if you are installing a greenfield 2013 environment, which we are. You will need Enterprise Admins right to execute the command successfully. The command has to be run on a 64-bit computer in the same domain and in the same AD site as the schema master. If you have a multi-domain environment, the server should be able to contact all domains in the forest on port 389.

This command will create the “Microsoft Exchange Security Groups” OU in the root domain of the forest, assign specific permissions on this OU, creates the management role groups (used for RBAC) within the OU, creates Exchange containers and objects in the configuration partition & assigns specific permissions throughout the config partition, prepares the local domain among other things.

Prepare Domain

In order to prepare a domain, run the following command from an elevated command prompt after browsing to the Exchange 2013 DVD/ISO.

Setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms

If you have a single domain environment, you don’t have to prepare the domain as the local domain is prepared for 2013 as part of preparing the AD. But, if you have a multi-domain environment, all other domains (except the one on which the AD was prepared) has to be ready for 2013.

You can prepare all the domains in one go by running the command below.

Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms (you will need Enterprise Admin rights).

You can also prepare one domain at a time by specifying the domain FQDN.

Setup.exe /PrepareDomain:<domain fqdn> /IAcceptExchangeServerLicenseTerms (you will need domain admin rights for the domain you are preparing).

You must run the setup.exe /preparedomain command in every domain in which you will install Exchange 2013 and in every domain that will contain mail-enabled users, even if the domain doesn’t have Exchange 2013 installed.

The above command will create a domain global group in the current domain called “Exchange Install Domain Servers”. This group will be placed in the Microsoft Exchange System Objects container and will also be added to the Exchange Servers USG in the root domain. The command will also assign permissions for universal security groups, set the ObjectVersion property correctly among other things.

This completes part one of this articles series. Now that the servers have the Exchange 2013 prerequisites installed and the schema, AD and domain have been prepared, we are ready to introduce Exchange 2013 into the environment, which will be covered in part two.

Stay tuned ;)

Other Popular Articles


MS Exchange

Keep Track Of Exchange 2013 Database Failovers

MS Exchange

Playing With Exchange 2013 Performance Logs

MS Exchange

Tackle .Net Framework 4.6.1 On Exchange Servers

9 thoughts on “Exchange 2013 – Deploying, Configuring & Upgrading – Part 1”

  1. Hi,

    As you said Ex2013 cas server performs three main functions – authentication, proxying and redirection So Is this mean mail flow will work internally if cas server is down.

    Reply

Leave a Comment