I have tried doing it this way:
def showthemall():
# LDAP connection settings
LDAP_SERVER = "ldap://ad.superhost"
BIND_DN = "[email protected]"
BIND_PASS = "mysupersecretpassword"
# Connect to LDAP
con = ldap.initialize(LDAP_SERVER)
# Authenticate in LDAP
con.simple_bind_s(BIND_DN, BIND_PASS)
# We don't want disabled users, so we use some magic LDAP-Active
Directory filers for it
ldapfilter =
'(&(&(objectclass=person)(
objectcategory=person))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
# What user attributes do we want list in link:
#
http://www.manageengine.com/products/ad-manager/help/csv-import-management/active-directory-ldap-attributes.html
attrs = ['displayName', 'givenName', 'sn', 'mail', 'mailNickname',
'department']
# Get all users from ldap
base_dn = 'ou=<OU>,dc=<DC>,dc=<DC>'
ad_users = con.search_s( base_dn, ldap.SCOPE_SUBTREE, ldapfilter, attrs
)
for user in ad_users:
# get 2nd value separated by comma
ouvar=user[0].split(',')[1]
# if ouvar valude is not Generic
if ouvar != 'OU=Generic':
# add user to the auth_user table
required_fields = set([ 'sn', 'givenName', 'mail',
'department', 'mailNickname' ])
if required_fields.issubset(set(user[1])):
db.auth_user.insert(first_name=user[1]['givenName'],
last_name=user[1]['sn'],
email=user[1]['mail'],
username=user[1]['mailNickname'],
password=None,
registration_id=user[1]['mailNickname'])
It is importing contact as (I mean every value in the DB is enveloped in
vertical bar):
|Grzegorz||Dzien||gdzien@domai...|gdzien|None|gdzien|
By the way - is there a way to re-use web2py's AD connector's connection?
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.