Step-by-step Starting with Exchange 2010 SP1 multi-tenant: Create and delete organizations
This tutorial is part of 4 parts tutorial on Exchange 2010 multi-tenancy support
Part 1: Installation of Exchange 2010 SP1 in hosting mode
Part 2: Creating and deleting Organizations in Exchange 2010 SP1 hosting mode
Part 3: Managing Organization in Exchange 2010 SP1 hosting mode
Part 4: Sending and receiving emails in Exchange 2010 SP1 hosting mode
In part 1 of this tutorial I have showed you how to install Exchange 2010 SP1 multi-tenant (or in hosting mode).
Today we will go over the process of creating and deleting organizations and mailboxes mailboxes.
A look at Service Plans
Before doing a jump start and create an organization we need to take a look at some files located on your CAS server called Service Plans.
Service plans are located by default in "C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ServicePlans" of your CAS server and they define the different services your hosted organization provides to its customer.
Step-by-step Starting with Exchange 2010 SP1 multi-tenant: Installation
This tutorial is part of 4 parts tutorial on Exchange 2010 multi-tenancy support
Part 1: Installation of Exchange 2010 SP1 in hosting mode
Part 2: Creating and deleting Organizations in Exchange 2010 SP1 hosting mode
Part 3: Managing Organization in Exchange 2010 SP1 hosting mode
Part 4: Sending and receiving emails in Exchange 2010 SP1 hosting mode
There have been quite a hype around the new multi tenancy support in Microsoft Exchange 2010 SP1 that is here to replace HMC (Hosted Messaging and Collaboration) solution. However most of what I have found was related to the new features and what was not supported anymore when Exchange is installed in "hosting mode".
For that reason I have decide to write this step-by-step tutorial that will guide you to installing your first Exchange 2010 SP1 multi-tenant organization to a fully operational mode.
Lab setup
For this lab I am using 2 servers running Microsoft Windows 2008 R2 one of them acting as a domain controller for the lab domain lab.com and the other will be running all roles of Microsoft Exchange 2010 SP1 CAS,HUB and Mailbox.
Autodiscover/Outlook anywhere fails when using a wildcard certificate
A very common issue faced with people who buy a wildcard certificates is that Autodiscover and Outlook Anywhere will not work because the Certificate Principal Name *.domain.com doesn't match the name returned by the autodiscover service server.domain.com
This issue is a pretty easy fix it is enough to run from Exchange Management Shell to match the Certificate Principal Name with the setting returned by the autodiscover service.
Set-OutlookProvider -Identity EXPR -CertPrincipalName msstd:*.domain.com
You can verify the changes you have done by running
Get-OutlookProvidernew-TestCasConnectivityUser.ps1 fails with Verify that OU ( Users ) exists
When trying to run the new-TestCasConnectivityUser.ps1 script the latter might fail with the following error
CreateTestUser : Mailbox could not be created. Verify that OU ( Users ) exists and that password meets complexity requirements.
The first thing you need to do is making sure that the password does meets complexity requirements however if you did and still having the failure you most probably have multiple OUs with name "Users" and that is why the script is failing.
Quick Tip: Restarting all Microsoft Exchange services
There are times when you need to restart all Exchange related services so here are 2 small scripts that will help you achieve this without going over each service in the Services mmc.
Of course restarting the "Microsoft Exchange Active Directory Topology" will restart a most of them but these 2 will restart them all.
Restarting All Running Services
This will get all services starting with MSexchange that are running and restart them.
$services = Get-Service | ? { $_.name -like "MSExchange*" -and $_.Status -eq "Running"} foreach ($service in $services) {Restart-Service $service.name -Force}
Restarting All Running Services with startup type Automatic
Although the above script should be enough in most cases, it will not restart any Microsoft Exchange related service that is supposed be running but is not for any reason. Here is another version of the script that would take care of this issue, note that we are looking for all services starting with MSExchange with startup type Automatic and restarting them
$services = get-wmiobject win32_service | ? {$_.name -like "MSExchange*" -and $_.StartMode -eq "Auto"} foreach ($service in $services) {Restart-Service $service.name -Force}
That's it for now
Quick Tip: Forcing OAB Generation
When migrating between Exchange version or when introducing a new CAS server sometimes we need to force the generation of the Offline Address Book so clients can pick it up and avoid unneeded outlook errors.
Here is how to do it in 3 quick steps
1. Update the Offline Address Book
From Exchange Management Shell (EMS) run:
Get-OfflineAddressBook | Update-OfflineAddressBook
2. Restart Microsoft Exchange System Attendant service on the Mailbox Server responsible for OAB Generation


