使用 PyAD 将组成员添加到 AD

Add group membership to AD with PyAD

我一直在尝试通过 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)

我做错了什么?

好的,我解决了问题。 根据此 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)