from __future__ import print_function from activedirectory import Client, Creds, activate domain = 'freeadi.org' creds = Creds(domain) creds.load() activate(creds) client = Client(domain) users = client.search('(objectClass=user)', scheme='gc') for dn, attrs in users: name = attrs['sAMAccountName'][0] domain = client.domain_name_from_dn(dn) print('-> %s (%s)' % (name, domain))
from activedirectory import Client, Creds, Locator, activate domain = 'freeadi.org' user = '******' password = '******' creds = Creds(domain) creds.acquire(user, password) activate(creds) locator = Locator() pdc = locator.locate(domain, role='pdc') client = Client(domain) users = client.search('(objectClass=user)', server=pdc) for dn,attrs in users: name = attrs['sAMAccountName'][0] print '-> %s' % name
from activedirectory import Client, Creds, activate domain = 'freeadi.org' user = '******' password = '******' creds = Creds(domain) creds.acquire(user, password) activate(creds) client = Client(domain) users = client.search('(objectClass=user)') for dn, attrs in users: name = attrs['sAMAccountName'][0] print '-> %s' % name
from __future__ import print_function from activedirectory import Client, Creds, Locator, activate domain = 'freeadi.org' user = '******' password = '******' levels = { '0': 'windows 2000', '1': 'windows 2003 interim', '2': 'windows 2003' } creds = Creds(domain) creds.acquire(user, password) activate(creds) locator = Locator() server = locator.locate(domain) client = Client(domain) result = client.search(base='', scope='base', server=server) assert len(result) == 1 dn, attrs = result[0] level = attrs['forestFunctionality'][0] level = levels.get(level, 'unknown') print('Forest functionality level: %s' % level)
domain = 'freeadi.org' user = '******' password = '******' if len(sys.argv) != 3: sys.stderr.write('Usage: useradd <username> <password>\n') sys.exit(1) username = sys.argv[1] userpass = sys.argv[2] creds = Creds(domain) creds.acquire(user, password) activate(creds) client = Client(domain) result = client.search('(sAMAccountName=%s)' % username) if len(result) > 0: sys.stderr.write('Error: user %s already exists\n' % username) sys.exit(1) dn = 'cn=%s,cn=users,%s' % (username, client.dn_from_domain_name(domain)) attrs = [] attrs.append(('cn', [username])) attrs.append(('sAMAccountName', [username])) princ = '%s@%s' % (username, domain) attrs.append(('userPrincipalName', [princ])) ctrl = AD_USERCTRL_NORMAL_ACCOUNT | AD_USERCTRL_ACCOUNT_DISABLED attrs.append(('userAccountControl', [str(ctrl)])) attrs.append(('objectClass', ['user'])) client.add(dn, attrs)
from activedirectory import Client, Creds, activate domain = 'freeadi.org' creds = Creds(domain) creds.load() activate(creds) client = Client(domain) users = client.search('(objectClass=user)', scheme='gc') for dn,attrs in users: name = attrs['sAMAccountName'][0] domain = client.domain_name_from_dn(dn) print '-> %s (%s)' % (name, domain)
from activedirectory import Client, Creds, activate domain = 'freeadi.org' user = '******' password = '******' creds = Creds(domain) creds.acquire(user, password) activate(creds) client = Client(domain) users = client.search('(objectClass=user)') for dn,attrs in users: name = attrs['sAMAccountName'][0] print '-> %s' % name
from activedirectory import Client, Creds, Locator, activate domain = 'freeadi.org' user = '******' password = '******' levels = \ { '0': 'windows 2000', '1': 'windows 2003 interim', '2': 'windows 2003' } creds = Creds(domain) creds.acquire(user, password) activate(creds) locator = Locator() server = locator.locate(domain) client = Client(domain) result = client.search(base='', scope='base', server=server) assert len(result) == 1 dn, attrs = result[0] level = attrs['forestFunctionality'][0] level = levels.get(level, 'unknown') print 'Forest functionality level: %s' % level