我一直试图通过PyAD向AD中的用户添加组成员。
from pyad import *
pyad.set_defaults(ldap_server="someSchool.local", username="someAdmin", password='somePassword')
user = pyad.aduser.ADUser.from_cn('Student999')
print(user.get_attribute('memberOf'))
user.update_attribute('mail','student999@someschool.com')
user.append_to_attribute('memberOf','CN=Active,OU=Groups,OU=Students,DC=someSchool,DC=local')除了append_to_attribute方法之外,一切都正常工作。方法正确地打印添加到用户帐户的成员列表。方法update_attribute正确地更新邮件字段。但是,当我运行append_to_attribute并尝试向我的用户添加下一个成员组时,它会抛出一个异常:
(-2147352567, 'Exception occured.', (0, 'Active Directory', 'Server is unwilling to process the request\r\n', None, 0, -2147016651), None)我做错了什么?
发布于 2020-12-31 09:54:00
好吧,我解决了问题。根据这个Is it possible to set a users memberOf property in Active Directory using Powershell属性,不能更新memberOf。
所以,这对我来说是可行的:
from pyad import *
pyad.set_defaults(ldap_server="someSchool.local", username="someAdmin", password='somePassword')
user = pyad.aduser.ADUser.from_cn('Student999')
group = pyad.adgroup.ADGroup.from_dn("CN=Active,OU=Groups,OU=Students,DC=someSchool,DC=local")
user.add_to_group(group) https://stackoverflow.com/questions/65504041
复制相似问题