4

私のスクリプトは次のようなものです。

import ldap, sys
server = 'ldap://my_server'
l = ldap.initialize(server)
dn="myname@mydomain"
pw = "password"
l.simple_bind_s(dn,pw)
ldap.set_option(ldap.OPT_REFERRALS,0)
print "valid"

私はWindowsでPython2.7を使用しています。

Active Directoryの内容を読み取ったり取得したりする方法はありますか?

4

2 に答える 2

4

を使用してもかなり多くのことができますwin32com.client(ドキュメントを見つけるのに苦労しました)。たとえば、ADS_NAME_TYPE_NT4フォーマットされた名前 ( doman\jonjoe) を知っているユーザーの電子メールを解決する必要がありました。

まず、ADS_NAME_TYPE_1779フォーマット ( CN=Jeff Smith,CN=users,DC=Fabrikam,DC=com)に変換する必要があります。

name_resolver = win32com.client.Dispatch(dispatch='NameTranslate')
name_resolver.Set(3, 'domain\\jonjoe')
ldap_query = 'LDAP://{}'.format(name_resolver.Get(1))

それができたら、単に呼び出すことができますGetObject()

ldap = win32com.client.GetObject(ldap_query)
print(ldap.Get('mail'))

Python 3.2.5 でテスト済み

于 2014-05-13T11:53:02.543 に答える