Installing Exchange 2010 Prerequisites on Server 2008 R2

Commands to install the necessary prerequisites for Exchange 2010 on Windows Server 2008 R2

Update 08.12.11: Exchange Server 2010 SP2 was released and require an additional prerequisite which is IIS 6 WMI Compatibility feature (Web-WMI).  This article and PowerShell Script was updated accordingly in all options containing the CAS role.

Before you begin, prepare your environment

  • Make sure that the functional level of your forest is at least Windows Server 2003
  • Also make sure that the Schema Master is running Windows Server 2003 with Service Pack 1 or later
  • If Database Availability Groups (DAG) is going to be used install Server 2008 R2 Enterprise Edition
    • Exchange 2010 Standard Edition supports DAG with up to 5 databases
    • Exchange 2010 Enterprise Edition supports up to 100 databases per server
    • You can install all server roles on the same server when using DAG
    • But then you need a hardware load balancer  for redundant CAS and HUB due to a Windows limitation preventing you from using Windows NLB and Clustering Services on the same Windows box
    • Two node DAG requires a witness that is not on a server within the DAG
      • Exchange 2010 automatically takes care of FSW creation; though you do have to specify the location of the FSW
      • It is recommended to specify the FSW to be created on a Hub Transport Server
      • Alternatively, you can put the witness on a non-Exchange Server after some prerequisites have been completed
      • You can follow these steps to get your member server to act as FSW
        • add the “Exchange Trusted Subsystem” group to our Local Administrators Group on that member server
      • On servers that will host the Hub Transport or Mailbox server role, install the Microsoft Filter Pack. For details, see 2007 Office System Converter: Microsoft Filter Pack (this allows office attachments content to be searched and indexed)
  • Set Pagefile size, RAM + 10MB (for systems with 8 GB of RAM or less, set pagefile to RAM * 1,5)
  • Disable IPv6 by using this guide: http://support.microsoft.com/kb/929852
  • Run Windows Update untill all updates are installed

Install the Windows Server 2008 R2 operating system prerequisites

  • Open powershell and run the following command
    • Import-Module ServerManager
  • For a server that will have the typical installation of Client Access, Hub Transport, and the Mailbox roles:
    • Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy,Web-WMI -Restart
  • For a server that will host the Client Access and Hub Transport server roles:
    • Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy,Web-WMI -Restart
  • For a server that will host only the Mailbox role:
    • Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server -Restart
  • For a server that will host only the Unified Messaging role:
    • Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Desktop-Experience -Restart
  • For a server that will host the Edge Transport role:
    • Add-WindowsFeature NET-Framework,RSAT-ADDS,ADLDS -Restart
  • After the system has restarted, configure the Net.Tcp Port Sharing Service for Automatic startup by running the following command:
    • Set-Service NetTcpPortSharing -StartupType Automatic

PowerShell Script: MVP Pat Richard has created a script to automate the process of installing the prerequisites: http://www.ehloworld.com/152

NOTE: You can also install the above features using xml scripts found in a scripts catalogue on the Exchange media. You still need to manually configure Net.Tcp Port Sharing Service for Automatic startup though. There is one script for every role. Thanks goes to Alex Lewis for the tip: http://www.networkworld.com/community/node/46829

For more information see Technet article http://technet.microsoft.com/en-us/library/bb691354(EXCHG.140).aspx
Also check out Chris and Robin’s Technology blog http://chrislehr.com/2009/10/installing-exchange-2010-quickly-using.htm
You should also check out MVP Elan Shudnows blog for how to install Exchange 2010 with DAG: http://www.shudnow.net/2009/10/29/exchange-2010-rtm-dag-using-server-2008-r2-%E2%80%93-part-1/

13 thoughts on “Installing Exchange 2010 Prerequisites on Server 2008 R2

  1. For those that just cut and paste commands without reading them, you should probably point out that the “-Restart” is optional on the command line and not required there (although a restart is required prior to being able to use any of things that ServerManager installs). I’m never impressed when a server automatically reboots while I’m installing software on it. Removing the -Restart allows you to manually restart the server after PowerShell is done.

  2. I have 2 servers. one is DC & another one is Exchange2010. I configured ADDS & DNS in my DC Server. In Exchange server 2010, i have to install exchange 2010 (CAS,MB,HT). I need exchange 2010 installation procedure, here my question is i need to configure ADDS(dcpromo) to exchange server 2010? Please guide me step by step

  3. Hi Ståle,
    I used your Powershell script to recover an Exchange server 2010 SP2 with a typical configuration and it asked for ASP.net and ISAPI filters to be included. I thought you might like to know

    Thanks for this.

  4. Real useful . Steps are very concise and clear.

    You are a valuable MVP..

  5. As a FYI, IPv6 should not be disabled per Microsoft recommendations. Good article.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.