Hi Cl?ment :)

On 04/05/09 17:16, Cl?ment OUDOT wrote:
> Hello,
>
> here is my problem : I have to synchronize entries from 2 separates
> branchs in AD. If I used as baseDn the upper branch, I get other entries
> (because i have more than my 2 branches at this level). Using a filter
> does not work because all are "user" entries.
>
> To be clearer:
> - dc=example,dc=com
>    - ou=organization
>      - ou=admins
>      - ou=archives
>      - ou=users
>
> So I want entries from ou=admin and ou=users, but not from ou=archives.
>
> I wanted to use a create condition with a regexp on
> srcBean.getDinstinguishName but I had a pb (see
> http://tools.lsc-project.org/issues/show/47).
>
> I also try to make a filter on AD distinguishedName attribute, but it does
> not support substring matching rules.
>    

Did you try using extensible filters? Like for example:
(&(objectclass=user)(!(ou:dn:=archives)))

This is defined in the LDAP search filters RFC, and I think AD 
implements it.

> It works if I add distinguishedName in src attributes, and use it in
> create condition, but this does not please me.
>    

Right. This means that entries in "ou=archives" would be considered 
until *just before* actually creating them in your destination. So 
obviously that's a performance hit.

> What do you think of be able to put several values for
> lsc.tasks.inetOrgPerson.dstService.baseDn? LSC would do a search for each
> value, so we can manage several branches.
>    

That's an interesting idea! Thanks for it.

I considered the same problem a while ago, with a list of ~50 DNs. At 
the time, I made a special source JNDI service that read an external CSV 
file containing the DNs. But I think your solution is neater.

> For information, I still faces pb under Windows (see
> http://tools.lsc-project.org/issues/show/48).
>
> Any help would be appreciated ;)
>    

I will have a look tomorrow when I have access to a Windows machine.

Good night,
Jon

Reply via email to