无法使用python重置AD用户密码

时间:2019-06-04 06:36:43

标签: python-3.x active-directory ldap3

我正在研究需要重设AD用户密码的项目。但到目前为止,我在网络上找不到有用的资源。

我正在使用ldap3重设AD用户密码,但是它不起作用。 我访问了这些链接以了解实现代码的一些想法 1. Update Active Directory Password using ldap python 2。Python 3.5, ldap3 and modify_password() 3。https://serverfault.com/questions/937330/update-ad-password-from-python-ldap-code-insuff-access-rights/937361 4. https://ldap3.readthedocs.io/welcome.html

from ldap3 import Server, Connection, NTLM, ALL
server = Server('mydomain.com',use_ssl=True, get_info=ALL)
conn = Connection(server, user='user1', password='oldpassword', authentication=NTLM, auto_bind=True)
print(conn)

pwd = 'newpassword'
enc_pwd = '"{}"'.format(newpassword).encode('utf-16-le')
conn.modify('cn=user1, ou=ou_name, dc=mydomain, dc=com', {'unicodePwd': [(MODIFY_REPLACE, [enc_pwd])]})
print(conn.result)
  

错误:引发LDAPSocketOpenError(“无法打开套接字”,   exception_history)ldap3.core.exceptions.LDAPSocketOpenError:('unable   打开套接字”,[(LDAPSocketOpenError('套接字ssl包装错误:   [WinError 10054]现有连接被强制关闭   远程主机”),

1 个答案:

答案 0 :(得分:0)

这是一个网络级别的错误,就我而言,我使用的是 AWS Managed AD,并且开箱即用,它不支持 TLS,需要 spin up a CA 才能通过 LDAP 启用 TLS。

基本上 LDAP 是否已建立连接,但在尝试解除与 TLS 的连接时失败,因为当时我的 LDAP 服务器不支持 TLS。