On 19/04/2011 18:15, Neil L Thackeray wrote:
> I have to admit to being completely new to using this tool. I tried
> force_value but it didn't work. I'm not quite sure what you mean by
> putting it in the lsc.tasks.task.dstService.attrs. My understanding
> (what there is of it) was that dstService.attrs was to modify LDAP
> values and the userAccountControl was using the values from the AD
> class to modify the LDAP.

dstService.attrs is a list of attributes that LSC is allowed to read or
write to. It won't touch anything not in that list. So, to modify
userAccountControl, add it to that list.

>
> I checked and the password is not expired on the accounts.
>
> My other question is how do you get the "User must change password at
> next logon" unchecked? I didn't see a function for that in the AD
> class. Is there better documentation out there that I'm missing?

All available flags for the userAccountControl field are listed in this doc:
http://lsc-project.org/javadoc/1.2-SNAPSHOT/

I think "User must change password at next logon" may pertain to
password expiry.

The rest of this looks OK, give it a try with userAccountControl added
to dstService.attrs.

Jonathan

>
> dst.java.naming.provider.url =
> ldaps://Myrul.blah.com/dc=ad,dc=lis,dc=illinois,dc=edu
> dst.java.naming.security.authentication = simple
> dst.java.naming.security.principal = [email protected]
> dst.java.naming.security.credentials = xxxxxxxxx
> dst.java.naming.referral = ignore
> dst.java.naming.ldap.derefAliases = never
> dst.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactory
> dst.java.naming.ldap.version = 3
> dst.java.naming.tls = true
> dst.java.naming.ldap.pageSize = 1000
>
>
> src.java.naming.provider.url = ldaps://localhost/dc=MYDC
> src.java.naming.security.authentication = simple
> src.java.naming.security.principal = cn=nsinfo,dc=MYDC
> src.java.naming.security.credentials = ldap2nss
> src.java.naming.referral = ignore
> src.java.naming.ldap.derefAliases = never
> src.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactory
> src.java.naming.ldap.version = 3
> dst.java.naming.tls = true
>
>
> lsc.tasks = SyncAccounts
> lsc.tasks.SyncAccounts.srcService = org.lsc.jndi.SimpleJndiSrcService
> lsc.tasks.SyncAccounts.srcService.baseDn = ou=People
> lsc.tasks.SyncAccounts.srcService.filterAll =
> (&(objectClass=person)(uid=*))
> lsc.tasks.SyncAccounts.srcService.pivotAttrs = uid sn givenName
> description
> lsc.tasks.SyncAccounts.srcService.filterId =
> (&(objectClass=person)(uid={uid}))
> lsc.tasks.SyncAccounts.srcService.attrs = description cn sn givenName uid
>
> lsc.tasks.SyncAccounts.dstService = org.lsc.jndi.SimpleJndiDstService
> lsc.tasks.SyncAccounts.dstService.baseDn = cn=Users,ou=MYDC
> lsc.tasks.SyncAccounts.dstService.filterAll = (&(cn=*)(sAMAccountType
> = 805306368))
> lsc.tasks.SyncAccounts.dstService.pivotAttrs = uid sn cn givenName
> description
> lsc.tasks.SyncAccounts.dstService.filterId = (uid={uid})
> lsc.tasks.SyncAccounts.dstService.attrs = description cn sn
> objectClass sAMAccountName givenName userPrincipalName
>
> lsc.tasks.SyncAccounts.bean = org.lsc.beans.SimpleBean
> lsc.tasks.SyncAccounts.dn = "cn=" +
> srcBean.getAttributeValueById("uid") + ",cn=Users,ou=MYDC"
> dn.real_root = cn=Users,ou=MYDC
>
> lsc.syncoptions.SyncAccounts =
> org.lsc.beans.syncoptions.PropertiesBasedSyncOptions
> lsc.syncoptions.SyncAccounts.default.action = F
>
> lsc.syncoptions.SyncAccounts.objectClass.action = F
> lsc.syncoptions.SyncAccounts.objectClass.force_value =
> "top";"user";"person";"organizationalPerson"
>
> lsc.syncoptions.SyncAccounts.sAMAccountName.create_value =
> srcBean.getAttributeValueById("uid")
> lsc.syncoptions.SyncAccounts.cn.force_value =
> srcBean.getAttributeValueById("uid")
> lsc.syncoptions.SyncAccounts.userPrincipalName.force_value =
> srcBean.getAttributeValueById("uid") + "@blah.com"
>
> lsc.syncoptions.SyncAccounts.userAccountControl.force_value =
> AD.userAccountControlSet( "0",
> [AD.UAC_SET_NORMAL_ACCOUNT,AD.UAC_UNSET_ACCOUNTDISABLE])
>
> lsc.syncoptions.SyncAccounts.unicodePwd.create_value =
> AD.getUnicodePwd("xxxxxxxxxx")
>
>
> Jonathan Clarke wrote:
>> Hi Neil,
>>
>> On 19/04/2011 17:02, Neil L Thackeray wrote:
>>  
>>> I'm been able to sync users from our OpenLDAP server to our AD, but so
>>> far all the users are disabled. I tried using the following to
>>> override the disabling:
>>> lsc.syncoptions.SyncAccounts.userAccountControl.create_value =
>>> AD.userAccountControlSet( "0",
>>> [AD.UAC_SET_NORMAL_ACCOUNT,AD.UAC_UNSET_ACCOUNTDISABLE]).
>>>
>>> No luck on current accounts in the AD or in accounts created with this
>>> setting.
>>>     
>>
>> Using a create_value will only affect newly created accounts. If you
>> want to change current (already existing) accounts, use force_value
>> instead.
>>
>> Are you sure that this attribute is being updated? Make sure it's in
>> your lsc.tasks.task.dstService.attrs configuration option.
>>
>> If you still have no success, check that the password is set and is not
>> marked as expired.
>>
>> Hope this helps,
>> Jonathan
>>
>>   
>
> _______________________________________________________________
> Ldap Synchronization Connector (LSC) - http://lsc-project.org
>
> lsc-users mailing list
> [email protected]
> http://lists.lsc-project.org/listinfo/lsc-users


-- 
--------------------------------------------------------------
Jonathan Clarke - [email protected]
--------------------------------------------------------------
Ldap Synchronization Connector (LSC) - http://lsc-project.org
--------------------------------------------------------------

_______________________________________________________________
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