2016-06-15 7 views
1

Ich verwende ldap3. Ich möchte alle Organisationseinheiten von AD abrufen. Hier ist mein CodeWie wird die gesamte Organisationseinheit von Active Directory in LDAP abgerufen?

from ldap3 import Server, Connection, SUBTREE, ALL 
total_entries = 0 

s = Server('172.30.1.197', port=636, use_ssl=True, get_info=ALL) 
admin_username = "[email protected]" 
admin_password = "[email protected]" 
c = Connection(s, user=admin_username, password=admin_password) 
c.bind() 
c.start_tls() 

c.search(search_base = 'dc=naanal,dc=local', 
     search_filter = '(objectClass=OrganizationalUnit)', 
     search_scope = SUBTREE, 
     paged_size = 5) 

total_entries += len(c.response) 

for entry in c.response: 
    print(entry) 

print('Total entries retrieved:', total_entries) 

Ausgang:

{'dn': u'OU=Domain Controllers,DC=naanal,DC=local', 'attributes': {}, 'raw_attributes': {}, 'type': 'searchResEntry'} 
{'dn': u'OU=Police,DC=naanal,DC=local', 'attributes': {}, 'raw_attributes': {}, 'type': 'searchResEntry'} 
{'dn': u'OU=dummy,DC=naanal,DC=local', 'attributes': {}, 'raw_attributes': {}, 'type': 'searchResEntry'} 
{'type': 'searchResRef', 'uri': ['ldaps://ForestDnsZones.naanal.local/DC=ForestDnsZones,DC=naanal,DC=local']} 
{'type': 'searchResRef', 'uri': ['ldaps://DomainDnsZones.naanal.local/DC=DomainDnsZones,DC=naanal,DC=local']} 
{'type': 'searchResRef', 'uri': ['ldaps://naanal.local/CN=Configuration,DC=naanal,DC=local']} 
('Total entries retrieved:', 6) 

Was sind die letzten drei Einträge im Ergebnis? Warum kommt es?

Antwort

0

Die letzten drei Einträge sehen wie Verweise aus. Laut den Dokumenten kann das Verweisen auf Verweigerung deaktiviert werden. Siehe hier: http://ldap3.readthedocs.io/connections.html

c = Connection(s, user=admin_username, password=admin_password, auto_referrals=False) 
+0

Ich habe versucht, aber noch habe ich das gleiche Ergebnis :( – rajagopalx

+1

Hmm ... nach dieser ist es vielleicht nicht vermeidbar sein: https://mail.python.org/pipermail/python3-ldap /2014/000042.html Das scheint irgendwie albern zu sein.Es gibt auch eine 'dereference_aliases'-Option für die Suche, die das Verhalten ändern könnte, würde versuchen, dies auf 'DEREF_NEVER' zu setzen. – ChadSikorra