def search_group(stog_filter = None, attrib = None): if not stog_filter: stog_filter = STOG_FILTER #print 'stog_filter is ', stog_filter creds = Creds(LDAP_BASE_DN) creds.acquire(MGR_CRED, MGR_PASSWD) activate(creds) client = Client(LDAP_BASE_DN) try: users = client.search(stog_filter, scheme='gc') except ldap.LDAPError, e: print e
from ad 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)
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 ad 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 ad 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
from ad 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 ad 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