====== Installing Exchange 2016 ====== ===== Before we start ===== Before you start there are a few things to be aware of: * Installing Exchange Server 2016 requires an Active Directory schema update. We’ll look at that in more detail shortly. * Aside from the schema update installing Exchange Server 2016 makes other irreversible changes to your Active Directory forest. If you’ve never backed up your Active Directory, or you’ve never heard of a forest recovery, [[windows:ad:backup|here’s some reading for you]]. * If you’re installing Exchange into the forest for the first time you will be choosing an organization name. The Exchange organization can’t be renamed at a later date, so choose a name you’re happy with keeping forever. Exchange Server 2016 can be installed on Windows Server 2012 and Windows Server 2012 R2. Exchange 2016 CU3 or later can also be installed on Windows Server 2016. For either version of Windows Server the Standard or Datacenter edition can be used to run Exchange Server 2016. Exchange itself does not rely on any specific features of either the Standard or Datacenter editions. Note that a full server installation with GUI (referred to as Desktop Experience in Windows Server 2016) is required for Exchange Server 2016, it can’t be installed on a Core mode installation of Windows Server. There are three possible installations of Exchange Server 2016 that you can perform: Mailbox server role (this is the only mandatory server role) Edge Transport server role (this is optional, and can’t co-exist with the Mailbox server role on the same Windows Server) Management Tools (for admin workstations or servers) Note that installing the Edge Transport server role on Windows Server 2016 is not supported. The requirements for each installation type are different, so let’s look at each of them in turn. ===== Installing prerequisites ===== ==== Installing Pre-Requisites for an Exchange Server 2016 Mailbox Server ==== For an Exchange Server 2016 Mailbox server installation open an elevated (run as administrator) PowerShell console and run the following command to install the operating system roles and features. === Windows Server 2012 and 2012 R2 === 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 A restart is required after the roles and features have finished installing. If you’d prefer that the server restarts itself automatically simply append -Restart to the command. After the restart download and install (in order): - A supported version of .NET Framework. Make sure you check the [[https://technet.microsoft.com/en-us/library/ff728623(v=exchg.150).aspx|supportability matrix]] for more details as there are minimum and maximum supported versions that vary depending on the build of Exchange 2016 you’re installing. - [[http://go.microsoft.com/fwlink/p/?linkId=258269|Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit]] The server is now ready to install the Exchange Server 2016 Mailbox server role. === Windows Server 2016 === Install-WindowsFeature 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 Next, install the following (in order): - [[https://go.microsoft.com/fwlink/p/?linkid=837748|Microsoft Knowledge Base article KB3206632]] - [[https://go.microsoft.com/fwlink/p/?linkId=258269|Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit]] ==== Installing Pre-Requisites for an Exchange Server 2016 Edge Transport Server ==== For an Exchange Server 2016 Edge Transport server the pre-requisites installation is a little simpler than for a Mailbox server. Open an elevated PowerShell console and run the following command. Install-WindowsFeature ADLDS When that has completed download and install (in order): - A supported version of .NET Framework (check the [[https://technet.microsoft.com/en-us/library/ff728623(v=exchg.150).aspx|supportability matrix]] for more details) - [[http://go.microsoft.com/fwlink/p/?linkId=258269|Microsoft Unified Communications Managed API 4.0, Core Runtime 64-bit]] The server is now ready to install the Exchange Server 2016 Edge Transport role. ==== Installing Pre-Requisites for the Exchange Server 2016 Management Tools ==== Exchange Server 2016 uses a web-based administrative interface called the Exchange Admin Center, similar to Exchange Server 2013. There is nothing required to be installed on a workstation or server other than a web browser to access the Exchange Admin Center. However if you want the Exchange Management Shell to be installed on a management workstation (Windows 8.1 or later) or server (Windows Server 2012 R2 or later) then the requirements are [[http://go.microsoft.com/fwlink/p/?LinkId=518380|.NET Framework 4.5.2]], and then the following Windows features: Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementScriptingTools,IIS-ManagementScriptingTools,IIS-IIS6ManagementCompatibility,IIS-LegacySnapIn,IIS-ManagementConsole,IIS-Metabase,IIS-WebServerManagementTools,IIS-WebServerRole ===== Preparing Active Directory ===== A new installation of Exchange Server 2016 involves applying an Active Directory schema update, as do most Exchange Server cumulative updates, as well as preparing the Active Directory domains where Exchange Server 2016 and any mail-enabled objects will be located. In an Active Directory forest with a single domain this can all be performed as one task. The Active Directory schema update will automatically apply when you run Exchange Server 2016 setup on the first server in your environment. A Windows Server 2012 R2 server with the Exchange Server 2016 Mailbox server role pre-requisites installed doesn’t quite meet the requirements (you’ll need to add the RSAT-ADDS feature as shown below). A domain controller will have RSAT-ADDS installed already, but may also need the .NET Framework version shown below to be installed first. Whether you’re running the schema update from an Exchange server or a separate server (some organizations do it as a separate task due to change control reasons, or because of different teams having different administrative responsibilities in the environment) then the following requirements apply: * .NET Framework 4.5.2 must be installed * The RSAT-ADDS feature must be installed Install-WindowsFeature RSAT-ADDS * The forest functional level must be at least Windows Server 2008 * The account used to run the schema update and Active Directory preparation must be a member of Enterprise Admins and Schema Admins. These are high privilege groups I recommend you plan to remove your account from the groups when you’re done with this task. Note, if you’ve just added yourself to these groups you’ll need to log out and back in to the server for the new group membership to take effect. * The server you’re running the schema update from must be located in the same Active Directory site as the Schema Master. You can identify your Schema Master by running my [[windows:ad:getadinfo|Get-ADInfo.ps1]] script, or by using the Get-ADForest PowerShell cmdlet. (Get-ADForest).SchemaMaster Now we’re ready to run the Active Directory schema update and and preparation. If you’ve already got Exchange Server running in your environment you can check the current Exchange schema version before applying the update, so that you can see what the before and after version numbers are. In PowerShell run the following one-liner "Exchange Schema Version = " + ([ADSI]("LDAP://CN=ms-Exch-Schema-Version-Pt," + ([ADSI]"LDAP://RootDSE").schemaNamingContext)).rangeUpper Exchange Schema Version = Note, in my example above there is no existing Exchange server installed, hence no Exchange schema version to report. Extract the Exchange Server 2016 setup files into a folder, open a command prompt window, and then navigate to the location where the Exchange setup files were extracted. To apply only the schema update run the following command: C:\Admin\ex2016>setup /PrepareSchema /IAcceptExchangeServerLicenseTerms Welcome to Microsoft Exchange Server 2016 Unattended Setup Copying Files... File copy complete. Setup will now collect additional information needed for installation. Performing Microsoft Exchange Server Prerequisite Check Prerequisite Analysis COMPLETED Configuring Microsoft Exchange Server Extending Active Directory schema COMPLETED The Exchange Server setup operation completed successfully. After applying the schema update we can check the version number again. "Exchange Schema Version = " + ([ADSI]("LDAP://CN=ms-Exch-Schema-Version-Pt," + ([ADSI]"LDAP://RootDSE").schemaNamingContext)).rangeUpper Exchange Schema Version = 15317 To prepare Active Directory run one of the following commands. Note this will also apply the schema update if you did not perform that step already. If you do not already have an Exchange organization you’ll need to provide a name for the organization now, for example: C:\Admin\ex2016>setup /PrepareAD /OrganizationName:"Exchange Lab" /IAcceptExchangeServerLicenseTerms If you’re installing Exchange Server 2016 into an existing Exchange organization you do not need to specify the organization name, for example: C:\Admin\ex2016>setup /PrepareAD /IAcceptExchangeServerLicenseTerms Remember, you can’t change the Exchange organization name later, so choose a name you’ll be happy to live with forever. Also, after installing Exchange Server 2016 as a new organization you will not be able to install any earlier versions of Exchange into the same organization. C:\Admin\ex2016>setup /PrepareAD /OrganizationName:"Exchange Lab" /IAcceptExchan geServerLicenseTerms Welcome to Microsoft Exchange Server 2016 Unattended Setup Copying Files... File copy complete. Setup will now collect additional information needed for installation. Performing Microsoft Exchange Server Prerequisite Check Prerequisite Analysis COMPLETED Setup will prepare the organization for Exchange Server 2016 by using 'Setup /P repareAD'. No Exchange Server 2007 roles have been detected in this topology. Af ter this operation, you will not be able to install any Exchange Server 2007 rol es. For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms .exch.setupreadiness.NoE12ServerWarning.aspx Setup will prepare the organization for Exchange Server 2016 by using 'Setup /P repareAD'. No Exchange Server 2010 roles have been detected in this topology. Af ter this operation, you will not be able to install any Exchange Server 2010 rol es. For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms .exch.setupreadiness.NoE14ServerWarning.aspx Configuring Microsoft Exchange Server Organization Preparation COMPLETED The Exchange Server setup operation completed successfully. If you have additional domains in your forest that you need to prepare (any domain that will host an Exchange server or mail-enabled objects) follow the guidance on TechNet [[https://practical365.com/exchange-server/installing-exchange-server-2016/|here]]. ===== Installing the Exchange Server 2016 Mailbox Server Role ===== The Mailbox server role contains all of the components required to run an Exchange Server 2016 server. There is also an Edge Transport role, but that is not a mandatory role and is not covered in this tutorial. After installing the Exchange Server 2016 pre-requisites on a server you can install the Exchange Server 2016 Mailbox server role by running the following command from an elevated command prompt. C:\Admin\ex2016>setup /Mode:Install /Role:Mailbox /IAcceptExchangeServerLicenseTerms Welcome to Microsoft Exchange Server 2016 Unattended Setup Copying Files... File copy complete. Setup will now collect additional information needed for installation. Languages Management tools Mailbox role: Transport service Mailbox role: Client Access service Mailbox role: Unified Messaging service Mailbox role: Mailbox service Mailbox role: Front End Transport service Mailbox role: Client Access Front End service Performing Microsoft Exchange Server Prerequisite Check Configuring Prerequisites COMPLETED Prerequisite Analysis COMPLETED Configuring Microsoft Exchange Server Preparing Setup COMPLETED Stopping Services COMPLETED Copying Exchange Files COMPLETED Language Files COMPLETED Restoring Services COMPLETED Language Configuration COMPLETED Exchange Management Tools COMPLETED Mailbox role: Transport service COMPLETED Mailbox role: Client Access service COMPLETED Mailbox role: Unified Messaging service COMPLETED Mailbox role: Mailbox service COMPLETED Mailbox role: Front End Transport service COMPLETED Mailbox role: Client Access Front End service COMPLETED Finalizing Setup COMPLETED The Exchange Server setup operation completed successfully. Setup has made changes to operating system settings that require a reboot to take effect. Please reboot this server prior to placing it into production. If ECP opens in an undesired language, add **mkt** variable to the url with the value **en-us** https://server-name/ecp?mkt=en-us