in ees_microsoft_outlook/microsoft_exchange_server_user.py [0:0]
def get_users(self):
"""Fetch users from Exchange Active Directory
Returns:
response: Fetched response from Exchange Active Directory
"""
warnings.filterwarnings("ignore")
try:
server = Server(
self.config.get_value("microsoft_exchange.active_directory_server")
)
conn = Connection(
server,
self.config.get_value("microsoft_exchange.username"),
self.config.get_value("microsoft_exchange.password"),
client_strategy=SAFE_SYNC,
auto_bind=True,
)
domain_name_list = self.config.get_value("microsoft_exchange.domain").split(
"."
)
ldap_domain_name_list = ["DC=" + domain for domain in domain_name_list]
search_query = ",".join(map(str, ldap_domain_name_list))
status, _, response, _ = conn.search(
search_query,
"(&(objectCategory=person)(objectClass=user)(givenName=*))",
attributes=["mail"],
)
if status:
return response
else:
raise Exception(
"Error while searching users from Exchange Active Directory."
)
except Exception as exception:
raise Exception(
f"Error while fetching users from Exchange Active Directory. Error: {exception}"
)