如何使用Python中的LDAP向组中添加新用户?
我正在尝试使用Python3和ldap3通过LDAP将用户添加到Active Directory 目前,我有一行代码可以工作并返回true:如何使用Python中的LDAP向组中添加新用户?,python,python-3.x,ldap,ldap3,Python,Python 3.x,Ldap,Ldap3,我正在尝试使用Python3和ldap3通过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 +
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
):
但这将返回false,并且根本不会创建用户
我以为我做错了什么,所以删除了memberOf
,再次运行第一批代码来重新创建用户。我使用Windows服务器上的Active Directory用户和计算机工具将组手动添加到用户。我打开IDLE,设置连接,然后运行此操作(为了简洁起见,输出被切断):
>>conn.search('dc=example,dc=com','(objectclass=person'),attributes=['memberOf']))
>>>康涅狄格州
[...
,DN:CN=username,CN=Users,DC=example,DC=com-状态:读取-读取时间:
memberOf:CN=My Group,CN=Users,DC=example,DC=com
]
除了caplitisedCN
和DC
之外,这正是我所拥有的。我试着把我的资本化,但那也不行。这让我很困惑,因为我认为我做的每件事都是对的。在过去的一两个小时里,我一直在用谷歌搜索和搔头
tl;dr如何在创建时使用
连接将用户和广告组分配给广告用户。添加()
在ldap3库中,有一种将用户添加到一个或多个组的特定方法。请查看conn.extend.microsoft.add_members_to_groups(members,groups)
方法 啊!!完全没有注意到这一点。谢谢
'memberOf': ['cn=My Group,cn=Users,dc=example,dc=com']
>>> 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
]