gpt4 book ai didi

python-3.x - 无法通过 ldap3 Python3 更改用户密码

转载 作者:行者123 更新时间:2023-12-03 09:41:02 26 4
gpt4 key购买 nike

每当我尝试通过 ldap3 库更改某人的密码时,都会收到以下错误:

{'type': 'modifyResponse', 'result': 53, 'message': '0000001F: SvcErr: DSID-031A12D2, problem 5003 (WILL_NOT_PERFORM), data 0\n\x00', 'referrals': None, 'description': 'unwillingToPerform', 'dn': ''}

发生此错误的原因通常有两种:用户试图通过未加密的连接修改密码,或者密码以不正确的编码发送。我的 SSL 连接很好(至少看起来是这样):
print(connection)
>>> ldaps://DC1.DOMAIN.LOCAL:636 - ssl - user: DOMAIN\admin - not lazy - bound - open - <local: 172.16.10.2:49230 - remote: 172.16.10.254:636> - tls not started - listening - SyncStrategy - internal decoder

我尝试对我尝试发送到 LDAP 服务器的字符串进行编码,但 .encode('utf-16le') 没有解决问题。还有其他解决方法吗?

我有一个使用 Windows Server 2012 R2 作为域 Controller 的测试域环境,我尝试更改密码的代码如下所示。
import ssl
from ldap3 import *

tls_configuration = Tls(validate=ssl.CERT_REQUIRED, version=ssl.PROTOCOL_TLSv1_2)
s = Server('DC1.domain.local', get_info=ALL, use_ssl=True, tls=tls_configuration)
password = 'mypasswordhere'
c = Connection(s, user="DOMAIN\\admin", password=password)
c.open()
c.bind()

user = "CN=Dummy Dumass,OU=Automatically Generated,OU=Staff,OU=RU,DC=DOMAIN,DC=LOCAL"

c.modify(user, {
'unicodePwd': [(MODIFY_REPLACE, ['New12345'])]
})

print(c.result)
c.unbind()

最佳答案

ldap3 包含修改 AD 密码的具体方法,使用以下代码代替 c.modify() :
c.extend.microsoft.modify_password(user, new_password)

关于python-3.x - 无法通过 ldap3 Python3 更改用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38164544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com