Filtering the Global Address List

We have a client running Exchange 2003 who was recently purchased by a much larger company that runs Lotus Notes.  They have decided to maintain their Exchange organization in a trusted domain; but want to import a list of the Lotus Notes users so that they can access free/busy information.

The issue is this:

1.  There are a very large number of users in the Lotus Notes environment so we want to keep them from being imported into the default GAL and have them be accessed by a separate address list.  That list has been created and works fine with the test accounts.  Those accounts currently appear in the default GAL.
2.  Each of the Lotus Notes user objects that is being imported is tagged with an extensionattribute that is unique to them and has no meaning in the current client network.
3.  There are many mail-enabled groups (security and distribution) in the current environment.
4.  I created a new GAL and configured it to filter based on that user extension attribute with a filter that looks like:

CustomAttribute 'is not' XXXXX

The obvious problem:
5.  Once the user extension attribute filter is applied, all accounts that are not user accounts are filtered because I apparently am too stupid to figure out a way to create a regular expression in the LDAP query.

How do I create a filter that does:

a)  Filter out any user object with the extension attribute value set to a specific value.
AND
b) keep all the current mail-enabled groups visible in the GAL.

Thanks.
Manfre7874Asked:
Who is Participating?
 
Stacy SpearConnect With a Mentor President/Principal ConsultantCommented:
Try this one out.

(& (&(!extensionAttribute15=XXXXX)(mailnickname=*)) (| (&(objectCategory=person)(objectClass=user)(!(homeMDB=*))(!(msExchHomeServerName=*)))(&(objectCategory=person)(objectClass=user)(|(homeMDB=*)(msExchHomeServerName=*)))(&(objectCategory=person)(objectClass=contact))(objectCategory=group)(objectCategory=publicFolder)(objectCategory=msExchDynamicDistributionList) ))

By putting the main delimiter near the front, you decrease the search time drastically by having a more efficient search.
0
 
Stacy SpearPresident/Principal ConsultantCommented:
You didn't post your filter! :)

!extensionttribute1=whatever

Is how you do a not with LDAP. some folks will even do it like this (!(extensionttribute1=whatever))
0
 
Manfre7874Author Commented:
oops, that would probably help.

-----------------------------
(&(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(!(homeMDB=*))(!(msExchHomeServerName=*)))
(&(objectCategory=person)(objectClass=user)(|(homeMDB=*)(msExchHomeServerName=*)))
(&(objectCategory=person)(objectClass=contact))(objectCategory=group)(objectCategory=publicFolder)
(objectCategory=msExchDynamicDistributionList) )))(objectCategory=user)(!extensionAttribute15=XXXXX)))

-----------------------------------------------------

I think it's probably something simple; but my actual abilities with writing LDAP are not great.

Thanks for looking.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.