我正在研究需要重设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]现有连接被强制关闭 远程主机”),
答案 0 :(得分:0)
这是一个网络级别的错误,就我而言,我使用的是 AWS Managed AD,并且开箱即用,它不支持 TLS,需要 spin up a CA 才能通过 LDAP 启用 TLS。
基本上 LDAP 是否已建立连接,但在尝试解除与 TLS 的连接时失败,因为当时我的 LDAP 服务器不支持 TLS。