Update Legacy Email Address Policies and Address Lists 1

After you removed the last Exchange 2003 Server and you only have Exchange 2007 Exchange 2003 Servers, it’s time to upgrade the following from legacy to “native” Exchange 2007 :

  • Recipient Policy (email address policy)
  • Address Lists
  • Global Address Lists

When you open the Exchange Management Console and try to edit an email address policy, you get an error saying :

“Unable to edit the specified E-mail address policy. E-mail address policies
created with legacy versions of Exchange must be upgraded using the
‘Set-EmailAddressPolicy’ task, with the Exchange 2007 Recipient Filter

To update the default email address policy use the following command :

Set-EmailAddressPolicy “Default Policy” -IncludedRecipients AllRecipients

Do not use the -ForceUpgrade parameter. If you do add this parameter, then the command will not do anything.

After you’ve updated the default policy, update all non-default policies. Here an example of an email address policy where users with mailboxes AND where the company name is filled with Microsoft need to be applied :

Set-EmailAddressPolicy “Sample Policy” -RecipientFilter { ((RecipientType €“eq €˜MailboxUser€™) €“and (Company €“eq €˜Microsoft€™)) }

Now update all the address lists and the global address list(s). The following address lists are present by default :

  • All Users
  • All Groups
  • All Contacts
  • Public Folders
  • All Rooms

The Address list “All Rooms” is the only one created by Exchange 2007, so this one doesn’t have to be upgraded. For all the others type in the powershell :

Set-AddressList “All Users” -IncludedRecipients MailboxUsers
Set-AddressList “All Groups” -IncludedRecipients MailGroups
Set-AddressList “All Contacts” -IncludedRecipients MailContacts
Set-AddressList “Public Folders” -RecipientFilter { RecipientType -eq ‘PublicFolder’ }

The last step is to update the Default Global Address List. This can be done by typing the following in the powershell :

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’))}

After you have upgraded all your policies and address lists check if everything can be opened by the Exchange Management Console. Another way of checking if everything is upgraded, can be done by :

Get-AddressList | Format-List Name,*RecipientFilter*,ExchangeVersion
Get-GlobalAddressList | Format-List Name,*RecipientFilter*,ExchangeVersion
Get-EmailAddressPolicy | where {$_.RecipientFilterType -eq “Legacy”}

The Exchange version will be “0.1 (8.0.535.0)”. The old ExchangeVersion was “0.0 (6.5.6500.0)”.

Hans Sleurink

Hans Sleurink works as a Consultant at Wortell in the Netherlands where he designs and deploys Unified Communications solutions. His main focus is on, but not limited to, Microsoft Teams (migrations), including Enterprise Voice, contact center solutions, AudioCodes, Direct Routing, Exchange, Office 365, Active Directory and other UC related topics.

More Posts - Website

Follow Me:

One comment on “Update Legacy Email Address Policies and Address Lists

  1. Reply Wim Sep 22,2014 09:20

    Great, thanks.
    But on Exchange 2010 SP1 i get from:

    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’))}

    Invoke-Command : Cannot bind parameter ‘RecipientFilter’ to the target. Exception setting “RecipientFilter”: “Invalid filter syntax.

Leave a Reply




This site uses Akismet to reduce spam. Learn how your comment data is processed.