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