Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python中的LDAP向组中添加新用户?_Python_Python 3.x_Ldap_Ldap3 - Fatal编程技术网

如何使用Python中的LDAP向组中添加新用户?

如何使用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 +

我正在尝试使用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 + '@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
]
除了caplitised
CN
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
]