Thank for you reply

1) I try your suggestion bu my member list is always empty, now my DEBUG 
output, looks like that : 
member: [CN=userA,OU=users,DC=domain,DC=fr, CN=userB,OU=users,DC=domain,DC=fr, 
CN=userC,OU=users,DC=domain,DC=fr]

<![CDATA[rjs:
var membersSrcDn = srcBean.getDatasetValuesById("memberUid");
membersDstDn = new java.util.ArrayList(); 
for  (var i=0; i<membersSrcDn.size(); i++) {
    var uid = membersSrcDn.get(i);
    var destDn = ldap.search("OU=users", "(sAMAccountName=" + uid + ")");
    if (destDn.size() == 0 || destDn.size() > 1) {
        continue;
    }
    var destMemberDn = destDn.get(0) + "," +  ldap.getContextDn();
    membersDstDn.add(destMemberDn);
}
membersDstDn
java.lang.System.out.println("member: " + membersDstDn);

]]>


2) Oops i did not read correctly the end of the page. Thank you Clement;).

--
Lionel


----- Mail original -----
De: "Clément OUDOT" <[email protected]>
À: "lsc-users" <[email protected]>
Envoyé: Jeudi 30 Juin 2016 09:45:06
Objet: Re: [lsc-users] Sync Ldap --> AD group member empty

Le 30/06/2016 09:00, Lionel Caignec a écrit :
> Hello,
>
> i forget to write my first mail in english so.
>
> I'm beginner with LSC and i want to synchronise from openldap to Active 
> Directory 2012R2
>
> For user it's now ok after little work.
>
> For groups it missing only members which are not filled by LSC.
>
>
> I followe tutorials from LSC website but i does not understant where is the 
> problem.
> Here my code which generate members list :
> <dataset>
>      <name>member</name>
>      <policy>FORCE</policy>
>      <forceValues>
>          <string>
>              <![CDATA[rjs:
>              var membersSrcDn = srcBean.getDatasetValuesById("memberUid");
>              var membersDstDn = [];
>              for  (var i=0; i<membersSrcDn.size(); i++) {
>                  var uid = membersSrcDn.get(i);
>                  var destDn = ldap.search("OU=users", "(sAMAccountName=" + 
> uid + ")");
>                  if (destDn.size() == 0 || destDn.size() > 1) {
>                      continue;
>                  }
>                  var destMemberDn = destDn.get(0) + "," +  
> ldap.getContextDn();
>                  membersDstDn.push(destMemberDn);
>              }
>              membersDstDn
>              // DEBUG
>              java.lang.System.out.println("member: " + membersDstDn);
>              ]]>
>          </string>
>      </forceValues>
> </dataset>
>
> The only think i've noticed, it's every member is separated by a ",". I don't 
> know how to force ";", alos i already have  
> "<defaultDelimiter>;</defaultDelimiter>" in my task.
>
> Here the output of my "debug"
> member: 
> CN=userA,OU=users,DC=domain,DC=fr,CN=userB,OU=users,DC=domain,DC=fr,CN=userC,OU=users,DC=domain,DC=fr


Try to use var membersDstDn = new java.util.ArrayList(); and 
membersDstDn.add(destMemberDn);

>
> Another question, is it possible to give a parameter when we call a task from 
> the agent? I want to launch task which synchronise only one account.


Seems possible with lsc-agent and options -i and -t, see 
http://lsc-project.org/wiki/documentation/latest/execution/start#lsc_remote_invocation_by_lsc-agent_command_line_tool

-- 
Clément OUDOT
Consultant en logiciels libres, Expert infrastructure et sécurité
Savoir-faire Linux
87, rue de Turbigo - 75003 PARIS
Blog: http://sflx.ca/coudot

_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users

Reply via email to