POW #2 - Upgrading legacy filters

October 2, 2008 at 2:30 PM2102

POW_BlueI just migrated from Microsoft Exchange Server 2000/2003 to Microsoft Exchange Server 2007. What is this thing with upgrading E-Mail Address Policies, Address Lists,...?

I receive this question quite often. So let's try to answer.

Exchange Server 2007 uses a new filter syntax (OPATH) to replace the traditional LDAP filters. So what is OPATH? OPATH is filtering syntax used by PowerShell, and is therefore also used by Exchange Server 2007. Remember that the whole Exchange Server 2007 administration is done via PowerShell! OPATH replaces complicated syntax used by LDAP filters in Exchange Server 2000/2003.

Which (default) filters do we need to upgrade?

  • Email Address Policies
  • Global Address Lists
  • Address Lists

Let's start with Email Address Policies. Here is LDAP Recipient Filter that comes with Exchange Server 2000/20003:



As you can see only LDAP Filter is present and Recipient Filter Type is Legacy.

How can we upgrade filter? Here is a cmdlet:

Set-EmailAddressPolicy "Default Policy" –IncludedRecipients AllRecipients

And result:



As you can see Recipient Filter is filled and Recipient Type is Precanned. Precanned means that the filter for this group was created using the pre-canned filters.

Upgrading (Default) Global Address List

Similar to Default Email Address filter only LDAP filter is present and Recipient Filter Type is Legacy.



Upgrading cmdlet with OPATH filter:

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

And result:



Recipient Filter contains OPATH filter and Recipient Filter Type is Custom, since we used custom and not pre-canned filter.

Upgrading (Default) Address Lists

Notice that Default Address Lists in Exchange 2000/2003 are All Users, All Groups, All Contacts and Public Folders. All Address Lists contains only LDAP Filter and Recipient Type is Legacy.






Upgrading cmdlets with OPATH filter:

Set-AddressList "All Users" –IncludedRecipients MailboxUsers

Set-AddressList "All Contacts" –IncludedRecipients MailContacts

Set-AddressList "All Groups" –IncludedRecipients MailGroups

Set-AddressList "Public Folders" –RecipientFilter { RecipientType -eq 'PublicFolder' }

And results:







Notice that all filters are upgraded to OPATH filter format. Filters for All Users, All Groups and All Contacts were created using pre-canned filters and Public Folders with custom Recipient Filter.

This part covers converting Default Filters from LDAP to OPATH filter format. If you are using custom Email Address Lists, Global Address Lists or Address Lists please consider upgrading LDAP filters to OPATH.

Posted in: POW


POW #1 - Sending HTML e-mails to remote domains via OWA 2007

September 10, 2008 at 10:39 PM2102

As spotted on many blogs, the pretty popular topic for some time now is Links of the Week. So I decided to try something new, something more technical and useful for my readers. And here it is. New set of posts named Problem of the Week (POW).

So here is the first part that talks about sending HTML e-mails to remote domains via OWA on Exchange Server 2007, the e-mails in question being received as plain text on destination domains.

So you send 'nice' HTML e-mail...


... which is displayed in plain text at destination.


So what's the catch?

Answer lies in 'hidden' ContentType parameter of Remote Domains settings.


ContentType value MimeText is not there by default. Yes, that's right! Someone set this up on Exchange Server 2003! ;-)

Does this look familiar to you?


That's right. If you have (or had before migration) this set to Provide message body as plain text the ContectType parameter for Remote Domains is MimeText.

So what's the solution?

You need to set value of ContentType to MimeHtmlText. Here's cmdlet:

Get-RemoteDomain | Set-RemoteDomain -ContentType MimeHtmlText


...and the result...



That's all for part #1. Happy reading... ;-)

Posted in: POW