Intelligent Message Filter, Content Filter, can do more...

WinDeveloper IMF Tune
WinDeveloper IMF Tune

Exchange 2010 Hosting Part 2 - The Easy Way

Paul Roman [MVP for Exchange, MCSE, MCSA, MCST, MCITP]

Paul Roman [MVP for Exchange, MCSE, MCSA, MCST, MCITP] Photo

Paul is a Microsoft Certified System Engineer since 1999. His experience covers a large number of Microsoft Exchange implementations starting from small infrastructures and going to large hosting infrastructures for thousands of users. Starting with April 1st, 2010, Paul is MVP for Exchange.

Cast your Vote
Poor Excellent

Today we discuss the second alternative to implementing an Exchange 2010 hosting infrastructure, a setup that can give significant hardware consolidation advantages. This installation method was introduced in Exchange 2010 Service Pack 1.

In the previous article, Exchange 2010 Hosting Part 1 - The Hard Way, we discussed the implementation of an Exchange 2010 hosting infrastructure when you need to have all the interesting features included in the product. The installation and configuration method that I presented is somehow difficult and is not supported by Microsoft. If you were to have a problem with that configuration, you would have to find support from within the Exchange technical community and that is not all the time very handy.

If you want to create a hosting infrastructure and don't need features like:

  • Exchange Management Console
  • Public Folders
  • Unified Messaging Server role
  • Federation
  • Business-to-Business features such as cross-premises message tracking and calendar sharing
  • IRM
  • Outlook 2003 support (EnableLegacyOutlook)
  • Edge Transport Server role

...then, I strongly recommend you to follow this second article.

Even this article starts from the installation of a new Exchange organization. I will focus mainly on the details regarding the hosting configuration and will only briefly remind you the things that need to be done for any kind of Exchange 2010 installations.

Also this article does not cover advanced configuration for a hosting infrastructure, like coexistence with on-premises email infrastructure.

1. The Easy Way - Hosting Environment Preparation and Installation

1.1 Preparing Active Directory

To begin let's have a look at the AD preparation requirements:

  • You cannot deploy Exchange in hosting mode in the same AD forest where you already have an existing Exchange Enterprise installation. The AD forest should be clean before preparing it for the new hosting infrastructure.

  • The Forest level must be at Windows Server 2008 functional level. This means that all the DCs have to be Windows 2008.

  • To run the AD preparation command, you need to have Schema Admin rights because it will modify the schema.

To prepare AD, from the command prompt move to the directory where the Exchange 2010 SP1 files were decompressed and run: /dc:"FQDN of domain controller" /hosting /prepareAD /OrganizationName:"Name of the Exchange Organization"

Note: The domain controller that you specify in /dc:"FQDN of domain controller" option has to be the schema master. Otherwise you will get an error.

1.2 Installing Exchange Server(s)

Moving to the installation, we have another set of requirements:

  • When you install the first Exchange Server, your account should be member of the Enterprise Admins group. If it's not the first Exchange server, you have to be member of the Exchange 2010 Organization Management role group.

  • The installation for all Exchange 2010 servers in hosting mode must be done from the command prompt because you don't have any option within the graphical interface for hosting.

  • You cannot install the Client Access Role on a Domain Controller.

  • As we already mentioned, there are a number of features that are not available in hosting mode, so you cannot use the following switches when installing the Exchange servers:

  • You have to install the Exchange 2010 prerequisites as specified on the Technet website:

We will assume an installation with all Exchange server roles. To install the Exchange 2010 in hosting mode run the following from the command prompt:
setup /Mode:Install /Role:CA,HT,MB /hosting

On running this, most probably it will ask you to install three missing hotfixes. You will have to install them before moving forward.

1.3 Optionally Disable the Exchange Control Panel (ECP)

This step is optional and should be applied if you intend to install/create a custom configuration console.

Since the hosting installation will not provide the Exchange Management Console (EMC), my recommendation would be to create or buy your own management console designed for Exchange 2010 hosting. Another option is to use Powershell cmdlets (as we will do in this article) and to only use the Exchange Control Panel (ECP) for basic management tasks such as creating mailbox users, distribution groups, contacts or to edit existing user mailboxes, reset passwords etc.

To disable the ECP follow the next few steps on all installed CAS servers as explained in Disable the Exchange Control Panel:

  • Open Regedit

  • Navigate to the following registry subkey:

  • At the tree, right-click on V14, select New, and then click DWORD (32-bit) Value called:

  • Don't assign a value to the registry key.

  • Restart the Microsoft Exchange Information Service for the changes to take effect.


2. Managing Hosted Organizations

2.1 Service Plans and Mailbox Plans

Service Plans and Mailbox Plans are templates used for quick provisioning of hosted organizations. By using them there is no need to individually setup settings for each hosted organization. You only need to create the templates and assign them to the organizations.

A Service Plan specifies the list of Exchange features, resource limits, and RBAC permissions that are available for a hosted organization. Within the Service Plan you can have one or many Mailbox Plans.

A Mailbox Plan specifies the Exchange features that need to be enabled on a mailbox in the hosted organization. You can have multiple mailbox plans for each organization.

2.2 Creating a New Service Plan and New Mailbox Plans

Here are the steps to create service and mailbox plans:

  • Open the folder where Service Plans are stored in XML templates:
    <Exchange Installation Path>\Exchange Server\V14\ClientAccess\ServicePlans

    For a standard installation, you can find three templates with .servicePlan extension. Check them and if you consider that they are enough for your requirements, you can use them as they are.

  • Chose one template, modify it according to your requirements and save it to a new template file, keeping the same extension.

    You can find all the settings that can be used at the link:

  • To create multiple Mailbox Plans within the same Service Plan, copy the section between: <MailboxPlan Name=...> and </MailboxPlan> and paste it before </MailboxPlans>.

    Edit the settings that you want and make sure that MailboxPlanName, MialboxPlanIndex properties are unique for each mailbox plan. Also make sure that only one Mailbox Plan has ProvisionAsDefault property set to true, since you can only have one default mailbox plan.

  • Add the newly created Service Plan to the Service Plan Map file. The Service Plan Map file is located in the same folder and is called ServicePlanHostingRemap.csv.

    To add a new Service Plan to the Service Plan Map file, you need to create a new line within the ServicePlanHostingRemap.csv file. The line should contain:
    ProgramId - specifies the service level offering that you are providing to your hosting organizations.
    OfferId - specifies a sub-service level offering.
    ServicePlanName - specifies the file name of the service plan.

  • Copy <Exchange Installation Path>\Exchange Server\V14\ClientAccess\ServicePlans folder where you created or edited the Service Plan to all your CAS servers (if you have more than one).

  • Verify that the newly created Service Plan is ok by simulating a new organization. To do that, run the following command within Powershell:
    New-Organization -Name "testdomain.local" -DomainName "testdomain.local" -Location "en-us" -ProgramId "TestProgram" -OfferId "TestOffer" -WhatIf

    Here ProgramId and OfferId are the ones specified in the ServicePlanHostingRemap.csv file.

2.3 Creating a New Hosted Organization

When creating a new hosted organization it is recommended to also assign it an administrator. Otherwise, you can later assign administrative rights to an existing user. The administrator will be able to perform administrative tasks for this organization using ECP, Powershell, or a custom management interface.

The following cmdlets assume that you want to create an admin for the newly created organization. When you create a new organization with administrator, the administrator username will be, where is the email domain for the new organization.

To create a new hosted organization run the following Powershell cmdlets:
$Password = Read-Host "Enter Password" -AsSecureString

Enter the password for the administrator

New-Organization -Name "testdomain.local" -DomainName "testdomain.local" -Location "en-us" -ProgramId "TestProgram" -OfferId "TestOfer" -AdministratorPassword $Password

2.4 Create a New User or Group

To create a new user for a hosted organization, run the following cmdlet:
New-mailbox -Organization "testdomain.local" -Name "John Doe" -FirstName John -LastName Doe -DisplayName "John Doe" -UserPrincipalName john.doe@testdomain.local -MailboxPlan "DefaultMailboxPlan"


  • You will be required to enter a password for the new account. The password should comply with the domain password policy.

  • UserPrincipalName will be used also as email address for this account

  • The Organization must exist - see 2.3

  • The MailboxPlan must exist - see 2.2

To create a new group for a hosted organization, run the following cmdled:
New-DistributionGroup -Organization "testdomain.local" -name "Test Domain Group" -ManagedBy john.doe@testdomain.local


  • The email address for the new group will be testdomaingroup@testdomain.local

  • You are required to add an owner for the group using the -ManagedBy parameter. If you don't specify the owner, the system will try to put the user that is running the cmdlet as the owner. The owner of the group must be member in the organization where the group is created

Additional Considerations

The powershell cmdlets for the Exchange 2010 Hosted infrastructure are different from the Exchange 2010 Enterprise infrastructure. To manage settings for object within each organization generally you have to use the -Organization parameter for all cmdlets. You can find a full reference here:

To have a fully operational Exchange infrastructure there are other steps that need to be followed like:

  • Configure antispam filters on Transport servers

  • Configure client access certificates

  • Configure autodiscovery service

  • Configure outlook anywhere

No matter what will be your pick for implementing such an infrastructure, Exchange 2010 is the right choice. It's a strong and stable product that was designed for hosting solutions. The living proof for this is the Exchange Online offering included in Office 365, which is in fact Exchange 2010.


Exchange 2010 Hosting Part 1 - The Hard Way

Multi-Tenant Support

Exchange 2010 SP1 Information for Hosted Service Providers

User Comments - Page 1 of 1

Alexander Zammit 17 Oct 2011 00:54
Please note that Microsoft is now phasing out /hosting.

So at this point I advise you to wait for Exchange 2010 SP2.

If you do deploy using /hosting you will be stuck with the limitations explained above, unless you perform a migration. But migrating won’t be fun because a separate forest is required!

See details here:
Copyright © 2005 - 2024 All rights reserved. is not affiliated with Microsoft Corporation