My blog has moved! Redirecting…

You should be automatically redirected. If not, visit http://www.digitalfugu.com/blog/ and update your bookmarks.

Wednesday, October 17, 2007

Contacts don't show up in Exchange 2007 Global Address List

It's been quite some time since our Global Address List has worked properly. All of our employees used to show up in there just fine, that was under Exchange 2003. After we upgraded to Exchange Server 2007 everything went sour. New mailboxes and users showed up in the GAL but not the mailboxes and users that existed before the upgrade. We'd looked into this a couple of times, but did not find a resolution to the problem until yesterday.

In the end our problem was that the Mail attribute for our users didn't match the default SMTP address configured in Exchange. The fix was relatively easy, make them match. This can be done one of two ways. The first, is to use adsiedit.msc to edit each user's Mail attribute so that it matches the default SMPT address. adsiedit is included in the Windows 2003 Support Tools and can be installed from the Tools folder in your Windows 2003 CD.
  1. Start -> Run -> Adsiedit.msc to start adsiedit
  2. Expand the Domain node until you get to your users
  3. Right-click on each user and select properties
  4. Scroll down to the Mail attribute
  5. Click "Edit" and an edit dialog will pop-up
  6. Enter in the default SMTP email address configured in Exchange
  7. Click "OK", "OK
  8. We are done
This is fine if your company is a small-ish start up like ours. If you have more than 10 employees, you'll want to do the following instead.
  1. Start the Exchange 2007 Management Shell
  2. Type the following to find out who has this problem:

    get-mailbox -resultsize unlimited | Where-Object {$_.PrimarySMTPAddress -ne $_.WindowsEmailAddress}

  3. And then the following to fix it:

    get-mailbox -resultsize unlimited | Where-Object {$_.PrimarySMTPAddress -ne $_.WindowsEmailAddress} | foreach { set-mailbox $_.identity -windowsemailaddress $_.primarySMTPAddress }

Now you can either wait for Exchange to do its update thing or you can force it to update the GAL. If you have a large number of users I would suggest that you just let Exchange do its thing on its schedule, but if you would like to see it right away, do the following (By the way, I'm assuming that you are using Outlook as an email client)
  1. Start the Exchange 2007 Management Console
  2. Expand the Organization Configuration node, select Mailbox, then click the Offline Address Book tab
  3. Right-click Default Offline Address Book and select Update from the pop-up menu
  4. Click Yes in the dialog that comes up to confirm that you want to update
  5. Wait.
  6. Open Outlook
  7. Click Tools -> Send/Receive -> Download Address Book
  8. Make sure that "Download Changes since last Send/Receive" is checked
  9. Click OK
  10. Check that you can see all the addresses you think you should see in the GAL through Outlook.
  11. We are done

No comments: