Skip to content

Instantly share code, notes, and snippets.

@eversinc33
Created February 14, 2023 16:24
Show Gist options
  • Save eversinc33/0ddb5a7bc9c46d3f04f1566ecffdabc1 to your computer and use it in GitHub Desktop.
Save eversinc33/0ddb5a7bc9c46d3f04f1566ecffdabc1 to your computer and use it in GitHub Desktop.
import ldap3, json
from ldap3.extend.microsoft.addMembersToGroups import ad_add_members_to_groups
domain = "test.local"
dc_host = "dc.test.local"
domain_cn = "".join([f"DC={x}," for x in domain.split('.')])[:-1]
bind_dn = <DN TO BIND>
bind_pw = "Winter2023!"
user_dn = <DN FOR USER TO ADD>
group_dn = <GROUP TO ADD USER TO>
user_to_add_sAMAccountName = <SAMACCOUNTNAME OF USER TO ADD>
# setup connection
server = Server(dc_host, port=636, use_ssl=True)
conn = Connection(server, bind_dn, bind_pw, auto_bind=True)
# add user
ad_add_members_to_groups(conn, user_dn, group_dn)
# verify membership
conn.search(domain_cn, f"(&(objectclass=user)(sAMAccountName={user_to_add_sAMAccountName}))", attributes=['memberOf'])
response = json.loads(conn.response_to_json())
print(response)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment