As mentioned in a previous blog post the end-of-life deadline for Exchange 2003 looms on the horizon. That being said, I discussed last time the process and syntax for upgrading the Recipient Update Policies in Exchange 2003 to the new Email Address Policies in Exchange 2010. Following a similar theme, this post will discuss how to upgrade the Address Lists in Exchange 2003 to 2010.
Like before this process is conducted in the Exchange Management Shell and like before if you tried to edit those Address List in the Exchange Management Console you would receive an error that the Address Lists were created in a legacy version of Exchange and need to be upgraded.
The specified address list could not be edited. Address lists created by using legacy versions of Microsoft Exchange must be upgraded by using the "ForceUpgrade" parameter of the "Set-AddressList" cmdlet.
Typically these are the commands you would need to run.
WARNING: These scripts are very simplistic! They are only designed to convert the default ‘out-of-the-box’ Address Lists. If you have made any customizations to these Address Lists do not use these scripts. If you have created additional Address Lists you will need to update these as well. Be sure to test in a lab setting first!
C:/> Set-AddressList "All Users" –IncludedRecipients MailboxUsers
This command updates the “All Users” Address List. The filter adds all Users in your environment that have a mailbox to that Address List. You will be prompted to confirm the change.
C:/> Set-AddressList "All Groups" –IncludedRecipients Mailgroups
This command updates the “All Groups” Address List. This filter includes all Distribution Groups.
C:/> Set-AddressList "All Contacts" –IncludedRecipients MailContacts
This list is for any mail contacts you may have created. Typically, a mail contact is an object that contains an external SMTP address that your Exchange server is not authoritative for.
C:/> Set-AddressList "Public Folders" -RecipientFilter { RecipientType -eq 'PublicFolder' }
Note: Sometimes cutting and pasting this command can change the single quotation marks around all the filter objects. If this command fails, remove and retype the single quotation marks.
This one updates your Public Folders address list. It adds any email addresses from mail-enabled folders in the Public Folders database.
C:/> Set-GlobalAddressList "Default Global Address List" -RecipientFilter {(Alias -ne $null -and (ObjectClass -eq 'user' -or ObjectClass -eq 'contact' -or ObjectClass -eq 'msExchSystemMailbox' -or ObjectClass -eq 'msExchDynamicDistributionList' -or ObjectClass -eq 'group' -or ObjectClass -eq 'publicFolder'))}
Note: Sometimes cutting and pasting this command can change the single quotation marks around all the filter objects. If this command fails, remove and retype the single quotation marks.
This last command updates the Global Address List.
Once converted, the Address Lists allow you to update and open them from the Exchange Management Console. There is one exception. The Global Address List can not be opened from the Exchange Management Console.
If you double-click nothing will happen. If you right-click you will only see “Help” from the context menu. Any further modifications to the Global Address List have to be conducted through the Exchange Management Shell.
Once converted these Address Lists can no longer be managed from 2003.
This was very informative and helpful for our GAL, OAB and mail-enabled public folder issues after removing our first 2003 Exchange server. But now when you go to Outlook to download the GAL, it offers two, All Users and GAL. Where before it was only GAL. This may cause issues.
Hey Lee,
Can you email me a screenshot of what you are seeing? info @ supertekboy.com
Mr. Gareth,
Thanks so much. Very helpful article and really fills in a gap left in most migration guides from Exch2003 to a newer version.
Thanks,
Wayne
Glad you like it! Be sure to check out the rest of my guides and articles.
Do we need to warn our users about this upgrade? Meaning, do these updates have any effect on the Outlook clients that I should warn folks about?
Nope. No need to alert users. This can easily be done during business hours. Doesn’t cause any down time.
By far the best articel which I found to resolve our GAL problems after upgrading from 2003.Excellent article.
We did not execute the last command re Default GAL as I do not understand the difference between “All Users” for eg selecting recipient names in Outlook, and the “Default GAL”? Where is this used?
Hey Eric. Glad you like the article!
By default ‘All Users’ is just a single address list that only contains Mailbox Users.
The Global Address List by default includes the ‘All Users’ address list in addition to all other address lists. Including ones you create.
So, the GAL contains all types of mail objects (not just mailboxes).
For example it will include Mail Contacts, Distribution Groups, User Mailboxes, etc.
Hope this helps.
Thanks man! Old network guy did a sloppy job of migrating and then left our company, so this came in handy. Appreciated!!
Glad to help. Upgrading the Address Lists is a common oversight. Did you see my other article about upgrading the Recipient Update Policies to Email Address Policies as well?