Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Network
  • » получить список пользователей из Active Directory [RSS Feed]

#1 Июль 24, 2008 11:48:04

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

получить список пользователей из Active Directory

Всем привет
подскажите есть утилита 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
при запуске получаю
[]
Может кто нибудь подсказать почему получаю пустой ответ

P.S. в python не пустой результат возвращает только такой скрипт
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
поиск по ‘(objectCategory=person)’ уже возвращает пустой результат



Офлайн

#2 Июль 25, 2008 15:20:04

max
От:
Зарегистрирован: 2008-04-21
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

получить список пользователей из Active Directory

А бинд ещё неплохо было бы проделать - у меня ругается сразу:

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)
Можно подглянуть тут немного:

http://www.djangosnippets.org/snippets/501/



Отредактировано (Июль 25, 2008 15:23:22)

Офлайн

#3 Июль 28, 2008 09:34:44

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

получить список пользователей из Active Directory

Большое спасибо за ссылку. Накидал такой скрипт

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
судя по первой строчке к серверу успешно подключается , а поиск не удаеться..
Не понятно к какому серверу подключатся к контроллеру домена или глобал каталогу для поиска email адресов(пробовал и первое и второе - результат одинаковый выше)?



Отредактировано (Июль 28, 2008 09:42:22)

Офлайн

#4 Янв. 28, 2009 14:22:44

andrulik
От:
Зарегистрирован: 2009-01-28
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

получить список пользователей из Active Directory

qman
судя по первой строчке к серверу успешно подключается , а поиск не удается..
Получилось побороть? Столкнулся со схожей проблемой и в итоге ступор.



Офлайн

#5 Янв. 28, 2009 17:58:33

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

получить список пользователей из Active Directory

andrulik
Получилось побороть? Столкнулся со схожей проблемой и в итоге ступор.
времени не хватило разобраться.
Смотри тут http://forum.script-coding.info/viewtopic.php?id=2000
там помогут переделать с офтопика на питон.
рабочий код на питоне потом отпиши сюда, плиз .



Отредактировано (Янв. 28, 2009 18:34:44)

Офлайн

  • Начало
  • » Network
  • » получить список пользователей из Active Directory[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version