我正在尝试使用带有ldap3的Python 3通过LDAP将用户添加到Active Directory。

目前,我有这行代码可以正常工作并返回true:

conn.add('cn=' + uid + ',cn=Users,dc=example,dc=com', 'user', {'sAMAccountName': uid, 'userPrincipalName': uid,'givenName': fname, 'sn': sname, 'displayName': name, 'mail': uid + '@example.com'})


所有这一切都只是用给定的参数创建用户-很好。

然后,我想将要创建的用户分配给组,因此我将以下内容添加到属性列表中(也尝试使用member而不是memberOf):

'memberOf': ['cn=My Group,cn=Users,dc=example,dc=com']


但这将返回false,并且根本不会创建用户。

我以为我做错了什么,所以删除了memberOf,再次运行了第一批代码来重新创建用户。我使用Windows Server上的Active Directory用户和计算机工具将组手动添加到用户。我打开了IDLE,设置了我的连接并运行了此程序(为简洁起见,请减少输出):

>>> conn.search('dc=example,dc=com', '(objectclass=person)', attributes=['memberOf'])
>>> conn.entries
[...
, DN: CN=username,CN=Users,DC=example,DC=com - STATUS: Read - READ TIME: <snip>
    memberOf: CN=My Group,CN=Users,DC=example,DC=com
]


除了大写的CNDC以外,我所拥有的完全是什么。我尝试将我的资金大写,但是那也行不通。当我以为自己做得对时,这真让我感到困惑。在过去的一两个小时里,我一直在谷歌搜索并挠头。

tl; dr使用Connection.add()创建后如何将AD组和AD组分配给AD用户

最佳答案

ldap3库中提供了一种用于将用户添加到一个或多个组的特定方法。看看conn.extend.microsoft.add_members_to_groups(members, groups)方法。

关于python - 如何在Python中使用LDAP将新用户添加到组中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45890633/

10-11 20:42
查看更多