Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- from ldap3 import Connection, Server, NTLM, ALL, ALL_ATTRIBUTES, ALL_OPERATIONAL_ATTRIBUTES
- def get_ldap_grp_members(
- ldap_conn,
- group_name,
- search_base='dc=WIRECARD,dc=LAN',
- attr_name='sAMAccountName'
- ):
- res = []
- ldap_conn.search(search_base, "(&(CN={}))".format(group_name))
- for cn in ldap_conn.entries:
- ldap_conn.search(search_base,
- '(memberOf={})'.format(cn.entry_dn),
- attributes=[ALL_ATTRIBUTES])
- #print("parsing: [{}]".format(cn.entry_dn))
- res.extend([x.entry_attributes_as_dict.get(attr_name)[0]
- for x in ldap_conn.entries])
- return list(set(res))
- ldap_srv_list = ["ldap1.company.com","ldap2.company.com","ldap3.company.com"]
- ldap_srv = Server(random.choice(ldap_srv_list), get_info=ALL)
- user=r'DOMAIN_NAMEwindows_login'
- pwd='windows_password'
- c = Connection(ldap_srv, user=user, password=pwd, authentication=NTLM, auto_bind=True)
- users = get_ldap_grp_members(c, 'AD_group_name', search_base='dc=LAN')
- users = get_ldap_grp_members(c, 'Group*Admin*', search_base='dc=LAN')
Add Comment
Please, Sign In to add comment