我一直在努力尝试通过脚本发送请求以更新我自己的密码。这是代码:

#!/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/

10-09 01:50