LDAP Search

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
reneschmidt
User
Beiträge: 48
Registriert: Montag 4. Januar 2016, 15:14

Hallo zusammen,

für ein kleines Skript, benötige ich eine LDAP Suche nach dem Benutzername und dem Wert, der im Feld IP-Telefon steht. Als LDAP Server nutze ich unser Windows AD.

Das Skript sieht wie folgt aus:

Code: Alles auswählen

#Lesen der Daten aus dem LDAP
LDAPBaseDN = "dc=muster,dc=local"
searchFilter = "(&(ipphone=*)(objectClass=user))"
searchAttribute = ["ipphone","sAMAccountName"]

ldapconn = ldap.initialize(LDAPServer)
ldapconn.protocol_version = 3
ldapconn.set_option(ldap.OPT_REFERRALS, 0)
ldapconn.simple_bind_s(LADPBenutzer, LDAPPasswort)

ldap_result_id = ldapconn.search(LDAPBaseDN, ldap.SCOPE_SUBTREE, searchFilter, searchAttribute)
result_type, result_data = ldapconn.result(ldap_result_id)

Lasse ich mir jetzt den Wert result_data ausgeben sieht es auf den ersten Blick richtig aus:

Code: Alles auswählen

[('CN=Max Mustermann,CN=Users,DC=muster,DC=local', {'sAMAccountName': [b'max'], 'ipPhone': [b'10']}), 
('CN=Lisa Mustermann,CN=Users,DC=muster,DC=local', {'sAMAccountName': [lisa'], 'ipPhone': [b'12']}), 
(None, ['ldap://DomainDnsZones.muster.local/DC=DomainDnsZones,DC=muster,DC=local']), 
(None, ['ldap://ForestDnsZones.muster.local/DC=ForestDnsZones,DC=muster,DC=local']), 
(None, ['ldap://muster.local/CN=Configuration,DC=muster,DC=local'])]


die oberen beiden Zeilen sind genau die dich ich brauche. Aber wie kommen die unteren drei zustande?
Bisher habe ich immer mit OpenLDAP gearbeitet. Da hatte ich diese Zeilen nicht. Jetzt mit dem Windows AD kommen diese Zeilen einfach immer mit... Woher kommt das und "wie bekomme ich das weg"?

Vielen Dank für Eure Hilfe!
Antworten