を作成し、私のプログラムの最初のステップは、私が会社のActive Directoryを検索し、部門によってユーザーのリストを見つけることが必要です。ここに私のコードは、これまでのところです:私のエントリがログに関係なく、私はconn.searchの検索フィルター部分に入れて何がPythonのLDAP3検索が空のエントリ
from ldap3 import Server, Connection, SUBTREE, ALL
server = Server('my.company.local', get_info=ALL)
conn = Connection(server, auto_bind=True)
conn.search('dc=my, dc=company, dc=local', '(givenName=Charles)')
print(conn.entries)
、何もデータが見つかりませんでした。エントリログは空のリストです。私がActive Directoryユーザーとコンピュータをプルアップするとき、私は各部門を通り、名前を見つけて属性エディタを検索することができます(そしてそこにGivenName = Charlesがあります)。なぜ私はアイデアが不足しているため、データが返されないのか、私に正しい方向で指摘してください。ありがとう。
EDIT:それは、関連するなら、印刷(server.schema)はNoneを返します。また、print(conn)はinsert my.company.local here:389 - cleartext - user: None - not lazy - bound - open - <local: 10.5.112.213:63755 - remote: 10.5.107.41:389> - tls not started - listening - SyncStrategy - internal decoder
という結果を返します。
間違いではないですか?あなたは接続していますか? 'conn'にはあなたの接続を確認するのに役立つ他の面白い方法がありますか? 「議論だけでなく、答えることができる質問を好む。詳細を提供する。あなたの研究を共有する。」 – SunSparc
ADに資格情報を提供していないようです。 'ldap3'はADUCコントロールと違って、あなたのユーザートークンを自動的に継承しないようです。したがって、あなたはADに匿名バインドを実行しましたが、成功しても検索などを実行できるコンテキストは提供されません。基本的に、検索できるようにするためには何らかの方法でクレデンシャルを提供する必要があります。 – ig0774