我一直在努力尝试通过脚本发送请求以更新我自己的密码。这是代码:
#!/usr/bin/python3.5
from ldap3 import Server, Connection, NTLM, ALL
server = Server('ldap://192.168.0.80', use_ssl=True)
conn = Connection(server, user="local\\dctest", password="Pa55word1", authentication=NTLM, auto_bind=True)
dn = "CN=dctest,CN=Users,DC=home,DC=local"
conn.extend.microsoft.modify_password(dn, new_password="Pa55word2", old_password="Pa55word1")
我得到的错误是:
{'dn':'','type':'modifyResponse','description':
'unwillingToPerform','referrals':无,'result':53,'message':
'00002077:SvcErr:DSID-03190E44,问题5003(WILL_NOT_PERFORM),
数据0 \ n \ x00'}
知道我在做什么错吗?
我拥有DC的完全访问权限,并且确保密码正确无误。我已经阅读了所有文档,但无法理解。
任何帮助将是巨大的!
最佳答案
从0.9.4.2版开始的ldap3.modify_password()不适用于Active Directory,因为它使用了AD不支持的密码修改扩展操作。 MS似乎找到了way to do things different with AD。 ldap3作者(cannatag)意识到了这一点,并在不久后添加了ad_modify_password()。您必须使用ldap3的较新版本。
关于python - Python 3.5,ldap3和Modify_password(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41816278/