Auto complete, Reply-ability, I need my X500!!!!

Sometimes i join discussions regarding Exchange cross-org migrations and the most hot topics is always about migration planning, mailboxes content migration, user’s notification, outlook profiles, etc… but what about the below two important points:

· Outlook auto complete feature (Automatic Name Resolution). After migration of mailboxes users will got NDR if they send an email using the outlook auto complete feature

· Reply-ability to old emails. After migration of mailboxes users will receive NDR if they tried to reply to an old email that is received from a user in the same Exchange organization

Why is this happening? Simply Outlook stores the recipient information using the LegacyExchangeDN value of the user’s mailbox, so when you do the migration of the mailbox you actually migrated the SMTP address & the mailbox content but you didn’t migrate his LegacyExchangeDN…

So how can we solve this? Simply we need to copy the LegacyExchangeDN value of the users’ mailboxes as an X500 address so that Exchange can deliver these emails. I will highlight some of these migrations scenarios to see how we can solve this:

- In managed migrations where there is a GalSync solution between the two organizations using MIIS or ILM the GalSync will stamp the LegacyExchangeDN value of the mailboxes in the source organization as an X500 address on the contacts created in the target organization.

- In Exchange 2007 we can use the move-mailbox cmdlet to move mailboxes between different Exchange organizations knowing that the target must be an Exchange 2007 org. The move-mailbox process will do the migration of the LegacyExchangeDN value of migrated mailboxes and stamp it as an X500 address to relief us from this pain.

But what about non-managed migrations or between organizations who don’t have a connectivity between their data centers, in these type of migrations you have to extract the LegacyExchangeDN value from the source mailboxes and stamp it as the X500 address to the target mailboxes in the target organization. One of the approaches that you can follow is using CSVDE to extract a CSV file from the source organization (Exchange 2000 or 2003) and manipulate it to have only two columns (alias & LegacyExchangeDN) then use the below powershell script to stamp the X500 address on the target mailboxes created in the Exchange 2007 organization,

Import-CSV file.csv | foreach {

$Temp = Get-Mailbox -identity $_.alias

$Temp.EmailAddresses += “X500” + $_.legacyexchangedn

set-mailbox -instance $temp}

so by having the X500 address on the migrated mailboxes Outlook auto complete and reply-ability to old emails will work as usual because the address Outlook tells Exchange to use is still valid.

Comments (6)

  1. Hi Marco,

    The Alias is just a name that i created in the CSV file that i used, the content for it is the email alias!

  2. Hi Ferry,

    Do you still want the 1k users to communicate with the rest easily by finding them in the GAL? if yes then you will have to import the 29k users in the new GAL as contacts or even import them.

    from my point of view, those 1k users used to see the rest of the contacts in the GAL, if you suddenly moved them to new org with only their contacts then they will face difficulties in locating their old mates (the 29k)… right?

  3. Anonymous says:

    hi mbaher, i reach to this blog on my searching of cross-org email migration. your information is very precious for me that i finally can figure out what should i do to handle the issue.

    one question left unsolved here is… how if i only migrate a group of users? let say we were in asia-pacific company running exchange with total 30k mailboxes. i migrate only 1k mailboxes which are part of my country only, into a new exchange organization. with your scripts, i can only resolve those 1k users. should i import all those 2.9k users into my new exchange-org and setup legacyexchangedn for them all? sounds like too huge data for a very little usage, not worthed?

    please share your thought.

    thank you!


  4. Hi Austin,

    Sure you can add the colon in the cmdlet or you can just add it in the CSV file. In my case I depend on the CSV file.

  5. Austin Ginder says:

    Appears you need a colon between X500 & $_.legacyexchangedn

  6. Marco Pirazzoli says:

    Hello M

    I have tried to use the CSVDE and export the result to a file, but I can't find a column called ALIAS. I have lots of columns but the alias one is missing. Could it be the DN one?

Skip to main content