0

我想从 Windows Server 的 Active Directory 中获取每个用户的信息(名字、姓氏、电子邮件)。所以我使用 ldap3 (python) 并成功连接到服务器(使用 HyperV Windows Server 2022)和我的管理日志:

from ldap3 import Server, Connection, ALL, NTLM, SAFE_SYNC
server = Server('ldap://172.28.63.240', get_info=ALL)
conn = Connection(server, user="TESTJER\Administrator", 
password="my_admin_password",client_strategy=SAFE_SYNC, auto_bind=True)

status, result, response, _ = conn.search('OU=Users2,DC=testjer,DC=local', 
'(givenName=*)')
print(response)

但是我将来需要连接到多个不同的服务器,所以我认为我将无法(这可能是一个坏主意)拥有一个管理员帐户来查看每个客户服务器上的所有内容?

所以我尝试通过安装 AD LDS 并选择实例名称、描述、端口等来初始化实例......

但是我无法通过指定端口与python连接,如果我不放置端口我可以连接,这意味着实例无用。

ldap3.core.exceptions.LDAPBindError:自动绑定不成功 - invalidCredentials

我的需求是否要求我必须安装一个只能查看用户信息而没有其他用途的实例?如何?

我为创建实例所做的工作:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在这里,我完全不确定要在这里写什么,但我猜 OU=Users2 意味着只获取 Users2。这就是我想要的,因为我的用户是:

在此处输入图像描述

在这里,我看到无论如何我都必须创建一个用户,所以我别无选择,我实际上输入了我的管理员帐户,但将来每个客户都必须为我创建一个帐户:

在此处输入图像描述

最后我想我必须在这里选择“MS-User.LDF”: 在此处输入图像描述

from ldap3 import Server, Connection, ALL, NTLM, SAFE_SYNC
server = Server('ldap://172.28.63.240', port=50001, get_info=ALL)
conn = Connection(server, user="TESTJER\Administrator", 
password="my_admin_password",client_strategy=SAFE_SYNC, auto_bind=True)

status, result, response, _ = conn.search('OU=Users2,DC=testjer,DC=local', 
'(givenName=*)')
print(response)
4

0 回答 0