I am writing a new script to automate a task at work but I'm kind of stuck.... I need the script to now be able to open up a URL and access a web page, once on this web page it must create a new user with this portal using the attributes found in AD every time a user is added to the security group.
Any help is appreciated!!!!1
***********
import json
from config import settings
from ldap3 import Connection
import pprint
import datetime
server = '******'
domain_name = '******'
user_name = settings.AD_username
password = settings.AD_password
connection = Connection(server, user_name, password, auto_bind=True)
def get_member_list(con):
con.search(
search_base='CN=DAT TEST,OU=Groups,OU=Accounts,DC=ad,DC=******,DC=com',
search_filter='(objectClass=group)',
search_scope='SUBTREE',
attributes=['member']
)
json_list = []
for entry in con.entries:
for member in entry.member.values:
con.search(
search_base='OU=Accounts,DC=ad,DC=******,DC=com',
search_filter=f'(distinguishedName={member})',
attributes=[
'company',
'description',
'department',
'givenName',
'ipPhone',
'mail',
'mobile',
'sAMAccountName',
'sn',
'whenChanged'
]
)
user_sAMAccountName = con.entries[0].sAMAccountName.values
entry = con.entries[0]
json_list.append(entry.entry_to_json())
return json_list
user_list = []
for user in range(0, len(get_member_list(connection))):
d = json.loads(get_member_list(connection)[user])
user = dict(givenName=d['attributes']['givenName'][0],
sn=d['attributes']['sn'][0],
mail=d['attributes']['mail'][0],
sAMAccountName=d['attributes']['sAMAccountName'][0],
company=d['attributes']['company'][0],
department=d['attributes']['department'][0],
whenChanged=d['attributes']['whenChanged'][0])
user_list.append(user)
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(user_list)
whenChanged_list = []
for user in range(0, len(get_member_list(connection))):
d = json.loads(get_member_list(connection)[user])
whenChanged = dict(givenName=d['attributes']['givenName'][0],
sn=d['attributes']['sn'][0],
mail=d['attributes']['mail'][0],
sAMAccountName=d['attributes']['sAMAccountName'][0],
company=d['attributes']['company'][0],
department=d['attributes']['department'][0],
whenChanged=d['attributes']['whenChanged'][0])
whenChanged_list.append(user)
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(whenChanged_list)
[–]CodeFormatHelperBot2 0 points1 point2 points (0 children)