[英]How to change the user password using ldap passwd_s function
我想通过提供旧密码和新密码来更改用户的密码。
import ldap
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
ldap.set_option(ldap.OPT_REFERRALS, 0)
con = ldap.initialize("ldaps://ldaps-direct.prod.mydomain.com")
tdn = "CN=test_user,OU=ServiceAccounts,OU=UserBase,DC=corp,DC=mydomain,DC=com"
new_password = "new_password"
old_password = "old_password"
client.passwd_s(tdn, '"%s"' % old_password, '"%s"' % new_password )
不幸的是我收到错误:
ldap.PROTOCOL_ERROR: {'desc': 'Protocol error', 'info': '0000203D: LdapErr: DSID-0C090F8B, comment: Unknown extended request OID, data 0, v2580'}
有办法解决吗?
Microsoft AD 不完全符合 LDAPv3 标准。 我不确定它是否支持 ldappasswd 操作。
从 python-ldap 文档:
对于 LDAP 操作,该模块包装了 OpenLDAP 的客户端库 libldap。
所以很有可能它不会处理 AD 的细节
有一个 python 模块,它具有更改微软密码的特定操作: https : //ldap3.readthedocs.io/ldap3.extend.microsoft.modifyPassword.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.