You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.3 KiB
30 lines
1.3 KiB
import ldap3 |
|
import sys |
|
from config import config |
|
from ldap3 import Server, Connection, ObjectDef, Reader, ALL, SUBTREE, ALL_ATTRIBUTES |
|
from ldap3.core import exceptions |
|
|
|
|
|
LDAP_SERVER = config['ldap']['server'] |
|
LDAP_PASSWORD = config['ldap']['admin_password'] |
|
LDAP_USER = config['ldap']['admin_dn'] |
|
LDAP_PORT = int(config['ldap']['ldap_port']) |
|
|
|
# Create the Server object with the given address. |
|
server = Server(LDAP_SERVER, LDAP_PORT, get_info=ALL) |
|
#Create a connection object, and bind with the given DN and password. |
|
try: |
|
conn = Connection(server, LDAP_USER, LDAP_PASSWORD, auto_bind=True) |
|
print('LDAP Bind Successful.') |
|
# Perform a search for a pre-defined criteria. |
|
# Mention the search filter / filter type and attributes. |
|
conn.search('ou=customer,dc=ungleich,dc=ch', '(&(!({}={})))'.format('mail','*@ungleich.ch') , attributes=['uid','mail']) |
|
#conn.search('ou=customer,dc=ungleich,dc=ch', '(objectClass=*)' , attributes=['uid','mail']) |
|
# Print the resulting entriesn. |
|
#for entry in conn.entries: |
|
#print(entry.uid, entry.mail) |
|
vm_list = conn |
|
except exceptions.LDAPException as err: |
|
sys.exit(f'LDAP Error: {err}') |
|
|
|
|
|
|