Since I've posted a number of times about OPATH filters for Exchange 2007 and RecipientFilter parameter for EAP/AL/GAL/DDG objects, it's only fair that I get a lot of email asking me questions about how to use it, how to convert old-style LDAP filters to OPATH, and what are the filterable properties that can be used.
Quick recap on what we've talked about so far:
Ok, so now you're up to date. What else is there? Ah, yes... what properties can I use in the filter.
OPATH filtering syntax used in Exchange 2007 provides a slightly different experience vs the previous LDAP mechanism. It's a little bit more verbose to look at and create, but it's also quite a bit easier to figure out for a newbie. As I've mentioned in the previous blog posts about "upgrading" filters, in many cases you'll want to convert existing LDAP filters to their OPATH equivalent. In order to do this, you'll need to know the equivalence of OPATH properties and LDAP properties, as well as which of the properties are "filterable".
The most common email I've received relates to the "-RecipientFilter" parameter of EmailAddressPolicy, AddressList, GlobalAddressList, and DynamicDistributionGroup objects. This is the parameter people most associate with having to "update" filters, and it has a special set of Filterable properties shared among all 4 object types. This parameter is used to define which recipient objects match a filter stored on one of these 4 object types, used to control the behavior of the object (ie - stamp email address on recipients who match the filter, deliver email to the recipients who match the filter, etc)
The other filtering I'll lay out below is related to the "-Filter" parameter of many "Get" tasks. This is a bit simpler -- it's basically a filter of which properties we should use from the objects we're "Getting" to filter the result set (ie - Get-Mailbox but only include objects that match some mailbox criteria). "-Filter" is the high-performance, server-side version of a "where-object clause".
The key difference: -RecipientFilter specifies recipient properties used to control application behavior of some 2nd object (EAP/AL/GAL/DDG). -Filter specifies object properties used to control which objects are returned to the pipeline from a "Get" task.
The rest of this blog post will be long. And boring. I apologize in advance. Rather than eagerly reading through the rest of the post, please just consider it a reference for all of the filterable properties in Exchange 2007 RTM so that you can search and find them when you actually need it. The online documentation has also now been updated with these details, so I'll link that here:
*NOTE* This is only for Exchange 2007 RTM filterable properties. Later versions of Exchange might add or remove properties from this "filterable" list.
Shortcut links to specific reference tables:
How to interpret these tables:
OPATH Name
LdapDisplayName
DeliverToMailboxAndForward
deliverAndRedirect
Company
company
Co
co
C
c
CountryCode
Department
department
DirectReports
directReports
Fax
facsimileTelephoneNumber
FirstName
givenName
HomePhone
homePhone
Initials
initials
LanguagesRaw
msExchUserCulture
LastName
sn
City
l
Manager
manager
MobilePhone
mobile
Office
physicalDeliveryOfficeName
OtherFax
otherFacsimileTelephoneNumber
OtherHomePhone
otherHomePhone
OtherTelephone
otherTelephone
Pager
pager
Phone
telephoneNumber
PostalCode
postalCode
PostOfficeBox
postOfficeBox
StateOrProvince
st
StreetAddress
streetAddress
TelephoneAssistant
telephoneAssistant
Title
title
ViewDepth
DisplayName
displayName
AcceptMessagesOnlyFrom
authOrig
AcceptMessagesOnlyFromDLMembers
dLMemSubmitPerms
AddressListMembership
showInAddressBook
Alias
mailNickname
AssistantName
msExchAssistantName
Certificate
userCertificate
Notes
info
CommonName
cn
CustomAttribute1
extensionAttribute1
CustomAttribute10
extensionAttribute10
CustomAttribute11
extensionAttribute11
CustomAttribute12
extensionAttribute12
CustomAttribute13
extensionAttribute13
CustomAttribute14
extensionAttribute14
CustomAttribute15
extensionAttribute15
CustomAttribute2
extensionAttribute2
CustomAttribute3
extensionAttribute3
CustomAttribute4
extensionAttribute4
CustomAttribute5
extensionAttribute5
CustomAttribute6
extensionAttribute6
CustomAttribute7
extensionAttribute7
CustomAttribute8
extensionAttribute8
CustomAttribute9
extensionAttribute9
EmailAddresses
proxyAddresses
RawExternalEmailAddress
targetAddress
ExternalEmailAddress
ForwardingAddress
altRecipient
GrantSendOnBehalfTo
publicDelegates
HiddenFromAddressListsEnabled
msExchHideFromAddressLists
InternetEncoding
internetEncoding
LegacyExchangeDN
legacyExchangeDN
MemberOfGroup
memberOf
MessageHygieneFlags
msExchMessageHygieneFlags
PhoneticCompany
msDS-PhoneticCompanyName
PhoneticDepartment
msDS-PhoneticDepartment
PhoneticDisplayName
msDS-PhoneticDisplayName
PhoneticFirstName
msDS-PhoneticFirstName
PhoneticLastName
msDS-PhoneticLastName
PoliciesIncluded
msExchPoliciesIncluded
PoliciesExcluded
msExchPoliciesExcluded
ProtocolSettings
protocolSettings
RecipientLimits
msExchRecipLimit
HomeMTA
homeMTA
RejectMessagesFrom
unauthOrig
RejectMessagesFromDLMembers
dLMemRejectPerms
RequireAllSendersAreAuthenticated
msExchRequireAuthToSendTo
SCLDeleteThresholdInt
msExchMessageHygieneSCLDeleteThreshold
SCLRejectThresholdInt
msExchMessageHygieneSCLRejectThreshold
SCLQuarantineThresholdInt
msExchMessageHygieneSCLQuarantineThreshold
SCLJunkThresholdInt
msExchMessageHygieneSCLJunkThreshold
SimpleDisplayName
displayNamePrintable
SMimeCertificate
userSMIMECertificate
TextEncodedORAddress
textEncodedORAddress
UMDtmfMap
msExchUMDtmfMap
AllowUMCallsFromNonUsers
msExchUMListInDirectorySearch
UMRecipientDialPlanId
msExchUMRecipientDialPlanLink
UMSpokenName
msExchUMSpokenName
MapiRecipient
mAPIRecipient
WebPage
wWWHomePage
WindowsEmailAddress
mail
SafeSendersHash
msExchSafeSendersHash
SafeRecipientsHash
msExchSafeRecipientsHash
PrimarySmtpAddress
RecipientDisplayType
msExchRecipientDisplayType
RecipientType
RecipientTypeDetailsValue
msExchRecipientTypeDetails
RecipientTypeDetails
MaxSendSize
submissionContLength
MaxReceiveSize
delivContLength
MasterAccountSid
msExchMasterAccountSid
LinkedMasterAccount
ResourceCapacity
msExchResourceCapacity
ResourceMetaData
msExchResourceMetaData
ResourceSearchProperties
msExchResourceSearchProperties
ResourcePropertiesDisplay
msExchResourceDisplay
ResourceCustom
ResourceType
IsLinked
IsShared
IsResource
EmailAddressPolicyEnabled
Id
distinguishedName
ExchangeVersion
msExchVersion
RawName
name
OriginalId
ObjectCategory
objectCategory
ObjectClass
objectClass
ObjectState
RawCanonicalName
canonicalName
WhenChanged
WhenCreated
whenCreated
DistinguishedName
Guid
objectGuid
NTSecurityDescriptor
ntSecurityDescriptor
Name
OriginalPrimarySmtpAddress
OriginalWindowsEmailAddress
ExpansionServer
msExchExpansionServerName
PurportedSearchUI
msExchPurportedSearchUI
RecipientFilterMetadata
msExchQueryFilterMetadata
RecipientContainer
msExchDynamicDLBaseDN
LdapRecipientFilter
msExchDynamicDLFilter
RecipientFilter
msExchQueryFilter
ManagedBy
managedBy
Members
member
ReportToManagerEnabled
reportToOwner
ReportToOriginatorEnabled
reportToOriginator
SendDeliveryReportsTo
SendOofMessageToOriginatorEnabled
oOFReplyToOriginator
IncludedRecipients
GroupType
groupType
Description
description
HiddenGroupMembershipEnabled
hideDLMembership
IsSecurityPrincipal
SamAccountName
Sid
objectSid
SidHistory
sIDHistory
PublicFolderContacts
pFContacts
PublicFolderType
msExchPFTreeType
PublicFolderRootUrl
msExchPfRootUrl
Database
homeMDB
DeletedItemFlags
deletedItemFlags
ElcExpirationSuspensionEndDate
msExchELCExpirySuspensionEnd
ElcExpirationSuspensionStartDate
msExchELCExpirySuspensionStart
ElcMailboxFlags
msExchELCMailboxFlags
ManagedFolderMailboxPolicy
msExchMailboxTemplateLink
ExchangeGuid
msExchMailboxGuid
ExchangeSecurityDescriptor
msExchMailboxSecurityDescriptor
ExternalOofOptions
msExchExternalOOFOptions
RetainDeletedItemsFor
garbageCollPeriod
IsMailboxEnabled
OfflineAddressBook
msExchUseOAB
ProhibitSendQuota
mDBOverQuotaLimit
ServerLegacyDN
msExchHomeServerName
ServerName
UseDatabaseQuotaDefaults
mDBUseDefaults
IssueWarningQuota
mDBStorageQuota
RulesQuota
msExchMDBRulesQuota
ProhibitSendReceiveQuota
mDBOverHardQuotaLimit
ExchangeUserAccountControl
msExchUserAccountControl
LocaleID
localeID
MobileFeaturesEnabled
msExchOmaAdminWirelessEnable
MobileMailboxFlags
msExchMobileMailboxFlags
MobileAdminExtendedSettings
msExchOmaAdminExtendedSettings
ActiveSyncAllowedDeviceIDs
msExchMobileAllowedDeviceIds
ActiveSyncMailboxPolicy
msExchMobileMailboxPolicyLink
ActiveSyncDebugLogging
msExchMobileDebugLogging
PasswordLastSetRaw
pwdLastSet
PrimaryGroupId
primaryGroupId
UnicodePassword
unicodePwd
QueryBaseDN
msExchQueryBaseDN
UMEnabledFlags
msExchUMEnabledFlags
UMMailboxPolicy
msExchUMTemplateLink
OperatorNumber
msExchUMOperatorNumber
UMPinChecksum
msExchUMPinChecksum
UMServerWritableFlags
msExchUMServerWritableFlags
CallAnsweringAudioCodec
msExchUMAudioCodec
UserAccountControl
userAccountControl
UserPrincipalName
userPrincipalName
UMEnabled
MailboxFolderSet
msExchMailboxFolderSet
MaxSafeSenders
msExchMaxSafeSenders
MaxBlockedSenders
msExchMaxBlockedSenders
ldapdisplayname
Identity
Subject
InternetMessageId
FromAddress
Status
Size
MessageSourceName
SourceIP
SCL
DateReceived
ExpirationTime
LastError
RetryCount
Queue
Recipients
DeliveryType
NextHopDomain
NextHopConnector
MessageCount
LastRetryTime
NextRetryTime
SIPResourceIdentifier