Outlook Profile Redirection
I imagine that many of my readers are already aware of this fact, but it is a very common question on the forums, especially as the pace of Exchange Server 2003 to Exchange Server 2007 upgrades appears to be increasing.
The question is this: when I move a user's mailbox from one server to another, how do I update their Outlook profile without going around to each and every desktop?
The answer is: you don't have to. It happens by magic.
How's that, you wonder? Here's how:
Executing a move-mailbox operation (whether via the GUI or the command-line) updates several attributes in Active Directory on the user that the mailbox is attached to. Let's talk about two of them. Among those attributes is one known as homeMDB. This attribute defines, as you might expect, the Messaging Database that "homes" the mailbox for that user. The homeMDB attribute is in distinguishedName format. Another attribute is the msExchHomeServerName attribute, which defines the server that is the home for the user. The msExchHomeServerName attribute is in X.500 format.
So, in my test environment, they look like this for my mailbox-enabled Administrator account:
>homeMDB: CN=Mailbox Store (WIN2003-EXCH),CN=First Storage Group,CN=InformationStore,CN=WIN2003-EXCH,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=essential,DC=local
>msExchHomeServerName: /o=First Organization/ou=First Administrative Group/cn=Configuration/cn=Servers/cn=WIN2003-EXCH
This is a big clue! Now, when I move this account to my server hosted on Windows Server 2008, they change to look like this:
>homeMDB: CN=Mailbox Database,CN=First Storage Group,CN=InformationStore,CN=WIN2008-EXCH,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=essential,DC=local
>msExchHomeServerName: /o=First Organization/ou=First Administrative Group/cn=Configuration/cn=Servers/cn=WIN2008-EXCH
The server name changed! As did the name of the mailbox database.
Now, the magic behind the mechanism is clear.
In two cases, Outlook can "automatically" (with some help from Exchange Server) know that a user's mailbox has moved. The cases are:
The mailbox has moved to another mailbox database on the same server, but still in the same organization
The mailbox has moved to another mailbox database on a different server, but still in the same organization
So, this is the way it works:
Outlook attempts to connect to old location of mailbox
Exchange at the old location says "nope, not there - try here instead" (this is called a referral) based on the information in Active Directory
Outlook attempts to connect to new location of mailbox
Outlook updates profile and always goes to new location from now on
However, note step 2 carefully! It can't happen unless the old location is still there! This explains the guidance to leave an old Exchange server up for a week or two, after all mailboxes have been moved from it - it allows the client connections to be updated, as users log in and attempt to connect. You want to make as sure as possible that all users have a chance to be referred to the new location - including those folks who were on vacation.
I hope this clarifies the "magic".
Until next time...
As always, if there are items you would like me to talk about, please drop me a line and let me know!