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
Exchange Outlook Web App and OCS 2007 R2 integration
I don't know if everyone knows about this feature, but for me i think this is one of the coolest integration features in OCS 2007 R2 and Exchange 2010.
The concept is to integrate outlook web App with office communications Server 2007 R2 for presence and instant messaging, which means that users using Outlook web App will have The ability to provision their presence and use a built-in instant messaging system to chat with other OCS users, in addition to the basic Outlook Web App features. Isn't cool!
Let's get started and see how this can be accomplished.


