Exchange Server 2010 can be installed on either Windows Server 2008 64-bit with Service Pack 2, or Windows Server 2008 64-bit R2, and either Standard or Enterprise editions.

In this post I’ll walk through installing the pre-requisites for Exchange Server 2010 on Windows Server 2008 R2.

Servers that will host the Hub Transport or Mailbox server roles require the Microsoft Filter Pack which can be downloaded here:

After installing the Filter Pack run the following command from an elevated Windows PowerShell console.

Import-Module ServerManager

To install a “Typical” Exchange server running the Client Access, Hub Transport, and Mailbox server roles, run the following command from an elevated Windows PowerShell console.

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

Note that other combinations of server roles require different groups of pre-requisites. You can see a complete list of these options here.

You can also check out Pat Richard’s script for automating the installation of pre-requisites for different servers roles.

The server will require a restart, which will occur automatically by using the –Restart switch on the command above.

After the restart launch another elevated Windows PowerShell console and run the following command.

Set-Service NetTcpPortSharing -StartupType Automatic

After installing the pre-requisites run Microsoft Update to verify the latest updates and patches are applied to the server before proceeding with the Exchange Server 2010 install.

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for


  1. faiboy

    thanks boss, the powershell commands is so easier than the GUI. you helped me a lot. just tried for the 2nd time, because made a mistake with “organization name “on the first time. just did the same good job twice.

  2. patrice

    how about installing asp features?

  3. Pragnesh


    We have received below error so please do the needful.

    The ‘IIS 6 WMI Compatibility’ component is required. Install the component via Server Manager.
    Click here for help…

    The ‘ASP.NET’ component is required. Install the component via Server Manager.
    Click here for help…

    The ‘ISAPI Filter’ component is required. Install the component via Server Manager.
    Click here for help…

    Elapsed Time: 00:00:09

  4. Harry

    we are implementing a new solution to our hosted exchange environment. what is the best practice to divide the roles as we 2 Hub Server, 2 CAS and 4 mailbox server in one DAG with one Edge transport server. We will be load balancing the HUB and CAS servers, and we got around 1200 mailboxes. What is the best practice to migrate the mailboxes from our old environment to new environment.

  5. Bill Smyth

    The site referenced to obtain “Pat Richard’s script for automating the installation of pre-requisites for different servers roles” is no longer up. The domain is parked.

    I found a post from Pat at with a few versions of the script, the latest is version 3.3. He continues to expand on it adding more features and installations.

  6. Luis

    Thanks Paul ! .

    I read this on Technet:

    “…If you’re installing the Mailbox server role, the Task Scheduler and Windows Firewall must be enabled and running. In addition, if the Mailbox server will be a member of a DAG and host replicated databases, it’s required that the script is scheduled and run automatically. For more information about the script, see “CheckDatabaseRedundancy.ps1 Script” in the Monitoring High Availability and Site Resilience topic. …”

    I also read somewhere else that the service “NetTCPPortSharing” has to be turned into “Automatic” for Client Access Exchange servers , is that so? .

    Again: Thanks for this great article!!

    1. Avatar photo
      Paul Cunningham

      Yes NetTCPPortSharing is a requirement of Exchange 2010 CAS last time I checked. I haven’t built a fresh one in a while but if TechNet still lists it as a pre-req then it is still required.

  7. Carol Ostos

    Quick one guys, I’m installing the prereqs for MBX Role, this box is only going to host MBX Role. I have run the generic command, see below:
    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 -Restart
    I did try to look for the XML file in the scripts folder called Exchange-MBX.xml but I could not find it.

    Do you reckon I should Remove all Features and let Exchange 2010 SP1 install the prereqs when running the installer? or should be ok leaving all the features that got installed with the command issued?


    1. Carol Ostos

      Decided to remove the features that were not needed by the MBX role, i found the list for MBX

      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

  8. Bhargav

    Hello paul,
    Now a soft is available for which helps to check the pre-requisites of Exchange server.
    What do you think about that..
    But i was thining of the unattended setup of Exchange server 2010
    Having trouble in last four services to get installed..
    Have a look at the types of the setup here..
    I have fullfilled all the requirements for the installation of exchange but still unable to install some of the services..
    So can you help me please…

    1. Avatar photo
      Paul Cunningham

      SP1 introduced a new setup feature where it will install the pre-requisites for you. You can just run the setup wizard and look for the tick box to automatically install them. Makes life a bit easier.

  9. Bhargav Dubal

    It do works …
    The thing is those services requires a restart…
    Anyhow the -Restart key is working…

    1. STF

      The “-restart” key is working *now* because the author has corrected the hyphen characters.

      1. STF

        Oh, I’ve just checked it. The hyphen character isn’t corrected.

  10. STF

    The “hyphen” before “Restart” in the command “……… –Restart” doesn’t seem correct. Its ASCII value is 0x96 while a normal hyphen’s ASCII value is 0x2D.

    1. Avatar photo
      Paul Cunningham

      Thanks, sometimes those characters get messed up by the WordPress editor :-/

Leave a Reply