from ldap3 import Server, Connection, ALL, ALL_ATTRIBUTES, ALL_OPERATIONAL_ATTRIBUTES # 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()