Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import csv
- from ldap3 import Server, Connection, Tls
- LDAP_KEY_FILE = os.environ['LDAP_KEY_FILE']
- LDAP_CERT_FILE = os.environ['LDAP_CERT_FILE']
- LDAP_URI = os.environ['LDAP_URI']
- LDAP_PORT = int(os.environ['LDAP_PORT'])
- LDAP_USERNAME = os.environ['LDAP_USERNAME']
- LDAP_PASSWORD = os.environ['LDAP_PASSWORD']
- tls = Tls(
- local_private_key_file=LDAP_KEY_FILE,
- local_certificate_file=LDAP_CERT_FILE,
- )
- server = Server(
- host=LDAP_URI,
- port=LDAP_PORT,
- use_ssl=True,
- tls=tls
- )
- connection = Connection(
- server,
- LDAP_USERNAME,
- LDAP_PASSWORD,
- )
- connection.search(
- "dc=mozilla",
- "(objectClass=mozComPerson)",
- attributes=["mail", "zimbraAlias"]
- )
- found = rows = 0
- with open('ldap-aliases.csv', 'w') as out:
- writer = csv.writer(out)
- writer.writerow(['ALIAS', 'ACTUAL'])
- for x in connection.entries:
- aliases = x.zimbraAlias.value
- if not aliases:
- aliases = []
- elif isinstance(aliases, str):
- aliases = [aliases]
- else:
- assert isinstance(aliases, list), type(aliases)
- actual = x.mail.value
- for alias in aliases:
- # print('{} --> {}'.format(alias, actual))
- writer.writerow([alias, actual])
- rows += 1
- found += 1
- print(found, "FOUND")
- print(rows, "ROWS")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement