【问题标题】:Last name update using pyad使用 pyad 更新姓氏
【发布时间】:2019-05-15 11:40:18
【问题描述】:

我正在尝试使用 pyad 在活动目录中创建用户并且它是成功的。当我尝试更新用户的姓氏时,它会抛出“属性错误”。我检查了 AD 中的属性,它与程序中使用的相同。

代码:

import pyad
from pyad import *
pyad.set_defaults(ldap_server="xxx.com", username="xxx\test", password="xxx@123")
ou = pyad.adcontainer.ADContainer.from_dn("OU=TestOU,DC=xxx,DC=com")
new_user = pyad.aduser.ADUser.create("Python", ou, password="abc@123")
print("User Created Successfully")
user = pyad.aduser.ADUser.from_cn("Python")
user.update_attribute("givenName", "PYTHON")
user.update_attribute("displayName","PYTHON-NEW")
user.update_attribute("mail","python@python.org")
user.update_attribute("st","XXX")
user.update_attribute("initials","py")
**user.udpate_attribute("sn","p")**
user.update_attribute("telephonenumber","9176665636")
user.force_pwd_change_on_login()

错误:

File "C:/Users/sheikkalidhr/Desktop/aduser.py", line 14, in <module>
    user.udpate_attribute("sn","p")
  File "D:\backup\New folder\lib\site-packages\pyad\adobject.py", line 202, in __getattr__
    raise AttributeError(attribute)
AttributeError: udpate_attribute

【问题讨论】:

  • 感谢您对此的帮助。
  • 非常感谢您的帮助

标签: python automation pyad


【解决方案1】:

如果其他人会寻找答案,我在这里写了一个回复。 sn 属性对于更新 AD“姓氏”-字段是正确的,但我在创建新用户时用于提供所有属性。请查看下面的示例。

from pyad import *
pyad.set_defaults(ldap_server="xxx.com", username="xxx\test", password="xxx@123")
ou = pyad.adcontainer.ADContainer.from_dn("OU=TestOU,DC=xxx,DC=com")
new_user = pyad.aduser.ADUser.create("Python", ou, password="abc@123",
   optional_attributes={
   "givenName" : "PYTHON",
   "displayName" : "PYTHON-NEW",
   "mail" : "python@python.org",
   "st" : "XXX",
   "initials" : "py",
   "sn" : "p",
   "telephonenumber" : "9176665636"
   })

希望对你有帮助

【讨论】:

  • 从哪里获得所有可能的属性?是否有所有这些人的清单?
猜你喜欢
  • 2016-02-22
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-21
  • 1970-01-01
相关资源
最近更新 更多