コード例 #1
0
ファイル: orgtoad.py プロジェクト: wangxuemin/Asenal
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
コード例 #2
0
ファイル: tutorial2.py プロジェクト: albert2lyu/Asenal
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)
コード例 #3
0
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)
コード例 #4
0
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
コード例 #5
0
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
コード例 #6
0
ファイル: tutorial1.py プロジェクト: jbalthis/python-ad
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
コード例 #7
0
ファイル: tutorial3.py プロジェクト: geertj/python-ad
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