Форум сайта python.su
Всем привет
подскажите есть утилита ldp.exe
есть
запрос к контроллеру домена Active Directory
BASE DN: DC=dep,DC=firma,DC=ru
FILTER: (&(objectCategory=person)(objectClass=user))
import ldap
l1 = ldap.initialize('ldap://srv:389')
r = l1.search_s('DC=dep,DC=firma,DC=ru',ldap.SCOPE_SUBTREE,
'(&(objectCategory=person)(objectClass=user))',
['cn','ou','dc','description','mail'])
print r
[]
import ldap
l1 = ldap.initialize('ldap://srv:389')
r = l1.search_s('DC=dep,DC=firma,DC=ru',ldap.SCOPE_SUBTREE,
'(objectCategory=*)',
['cn','ou','dc','description','mail'])
print r
Офлайн
А бинд ещё неплохо было бы проделать - у меня ругается сразу:
OPERATIONS_ERROR: {'info': ‘00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece’, ‘desc’: ‘Operations error’}
bn = "%s@%s" % (username,AD_DNS_NAME)
l1.simple_bind_s(bn,password)
Отредактировано (Июль 25, 2008 15:23:22)
Офлайн
Большое спасибо за ссылку. Накидал такой скрипт
import ldap
AD_DNS_NAME = 'dc.firma.ru'
AD_LDAP_PORT = 389
AD_SEARCH_DN = 'CN=Users,dc=dep,dc=firma,dc=ru'
# This is the NT4/Samba domain name
AD_NT4_DOMAIN = 'dep.firma.ru'
AD_SEARCH_FIELDS = ['mail','givenName','sn','sAMAccountName']
AD_LDAP_URL = 'ldap://%s:%s' % (AD_DNS_NAME,AD_LDAP_PORT)
username = 'myname'
password = 'mypassword'
binddn = "%s@%s" % (username,AD_NT4_DOMAIN)
try:
l = ldap.initialize(AD_LDAP_URL)
l.simple_bind_s(binddn,password)
l.unbind_s()
print "connection True"
except ldap.LDAPError:
print "connection False"
res = l.search_ext_s(AD_SEARCH_DN,ldap.SCOPE_SUBTREE,
"sAMAccountName=%s" % username,AD_SEARCH_FIELDS)[0][1]
print res
connection True
Traceback (most recent call last):
File "ad_ldap6.py", line
24, in <module>
"sAMAccountName=%s" % username,AD_SEARCH_FIELDS)[0][1]
File "C:\Python25\lib\site-packages\ldap\ldapobject.py", line 501, in search_e
xt_s
msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,
clientctrls,timeout,sizelimit)
File "C:\Python25\lib\site-packages\ldap\ldapobject.py", line 497, in search_e
xt
timeout,sizelimit,
File "C:\Python25\lib\site-packages\ldap\ldapobject.py", line 96, in _ldap_cal
l
result = func(*args,**kwargs)
ldap.LDAPError: LDAP connection invalid
Отредактировано (Июль 28, 2008 09:42:22)
Офлайн
qmanПолучилось побороть? Столкнулся со схожей проблемой и в итоге ступор.
судя по первой строчке к серверу успешно подключается , а поиск не удается..
Офлайн
andrulikвремени не хватило разобраться.
Получилось побороть? Столкнулся со схожей проблемой и в итоге ступор.
Отредактировано (Янв. 28, 2009 18:34:44)
Офлайн