首页 > 解决方案 > 如何获取用户属于python中的哪个组

问题描述

我想根据活动目录名称获取用户的 AD 组。我使用了 ldap3 模块,但它没有解决无效凭证的问题,尽管我输入了正确的

 conn = Connection(Server('<AD server name>', port=389, use_ssl=False),
               auto_bind=AUTO_BIND_NO_TLS, user='<username>',
               password='<password>')

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

标签: pythonpython-3.xactive-directoryldap

解决方案


您可以尝试使用 NTLM 身份验证。

这对我有用:

from ldap3 import Server, Connection, NTLM

server = Server("in.domain.com")
with Connection(server, user="{}\\{}".format("MYDOMAIN", "your_username"), password="your_password", authentication=NTLM) as conn:
    conn.search("dc=in,dc=domain,dc=com", "(&(sAMAccountName={}))".format("user_you_want_to_find"),
                attributes=['memberOf'])
    entry = conn.entries

for group in entry[0]['memberOf']:
    print(group)

该脚本应打印user_you_want_to_find属于...的每个组的公用名

问候。


推荐阅读