我正在尝试使用带有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
]
除了大写的
CN
和DC
以外,我所拥有的完全是什么。我尝试将我的资金大写,但是那也行不通。当我以为自己做得对时,这真让我感到困惑。在过去的一两个小时里,我一直在谷歌搜索并挠头。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/