Guest User

Untitled

a guest
Feb 5th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. import random
  2. from ldap3 import Connection, Server, NTLM, ALL, ALL_ATTRIBUTES, ALL_OPERATIONAL_ATTRIBUTES
  3.  
  4. def get_ldap_grp_members(
  5. ldap_conn,
  6. group_name,
  7. search_base='dc=WIRECARD,dc=LAN',
  8. attr_name='sAMAccountName'
  9. ):
  10. res = []
  11. ldap_conn.search(search_base, "(&(CN={}))".format(group_name))
  12. for cn in ldap_conn.entries:
  13. ldap_conn.search(search_base,
  14. '(memberOf={})'.format(cn.entry_dn),
  15. attributes=[ALL_ATTRIBUTES])
  16. #print("parsing: [{}]".format(cn.entry_dn))
  17. res.extend([x.entry_attributes_as_dict.get(attr_name)[0]
  18. for x in ldap_conn.entries])
  19. return list(set(res))
  20.  
  21. ldap_srv_list = ["ldap1.company.com","ldap2.company.com","ldap3.company.com"]
  22. ldap_srv = Server(random.choice(ldap_srv_list), get_info=ALL)
  23.  
  24. user=r'DOMAIN_NAMEwindows_login'
  25. pwd='windows_password'
  26.  
  27. c = Connection(ldap_srv, user=user, password=pwd, authentication=NTLM, auto_bind=True)
  28.  
  29. users = get_ldap_grp_members(c, 'AD_group_name', search_base='dc=LAN')
  30.  
  31. users = get_ldap_grp_members(c, 'Group*Admin*', search_base='dc=LAN')
Add Comment
Please, Sign In to add comment