from ldap3 import ALL, ALL_ATTRIBUTES, ALL_OPERATIONAL_ATTRIBUTES, Connection, Server # from ldap3.core.exceptions import LDAPCursorError def connect_ldap3(): server = Server("localhost:10389", get_info=ALL, use_ssl=False) # conn = Connection(server, 'uid=admin,ou=system', 'gc01gapsC$', auto_bind='TLS_AFTER_BIND') # 'uid=admin,ou=system' # status = conn.search('ou=cognos,dc=ibm,dc=com', '(objectclass=person)', 'SUBTREE') # print(conn.entries) conn = Connection(server, user="uid=Global1,ou=cognos,dc=ibm,dc=com", password="Cognos#11") if conn.bind(): conn.search( "ou=cognos,dc=ibm,dc=com", "(objectclass=person)", "SUBTREE", attributes=[ALL_ATTRIBUTES, ALL_OPERATIONAL_ATTRIBUTES], ) format_string = "{:15} {:25} {:19} {:25} {}" for e in conn.entries: desc = "" email = "" if "description" in e: desc = e.description if "mail" in e: email = e.mail # print(e.entry_to_json()) print(format_string.format(str(e.uid), str(e.givenName), str(e.createTimestamp)[:19], str(email), desc)) else: print(conn.result) if __name__ == "__main__": # connect_pyldap() connect_ldap3() # from ldap3 import Server, Connection, AUTH_SIMPLE, STRATEGY_SYNC, ALL # s = Server(HOST, port=389, get_info=ALL) # c = Connection(s, authentication=AUTH_SIMPLE, user=user_dn, password=PASSWORD, check_names=True, # lazy=False, client_strategy=STRATEGY_SYNC, raise_exceptions=True) # c.open() # c.bind()