【发布时间】:2022-12-16 21:34:01
【问题描述】:
我正在尝试修改用户帐户密码,但它不起作用,我直接在 AD 中尝试过,它确实有效。我正在使用 ldap3 来执行此操作,这是我执行的步骤。
首先,我像这样进行应用操作
from ldap3 import Server, Connection, ALL
s = Server("ldap://192.168.x.xx", use_ssl=True)
c = Connection(s, user='adminldap', password='xxxxxxx')
c.bind()
c.add('cn=jtest,ou=users,ou=MJC,dc=mjc,dc=lan', ['user', 'posixGroup', 'top'], {'cn': 'jtest', 'sAMAccountName':'jtest', 'mail':'jtest@gmail.com','telephoneNumber':'0102030405','displayName':'jtest'})
这个有效。
然后我尝试设置密码
Path_Root = "ou=users,ou=MJC,DC=mjc,DC=lan"
Filter = "(&(objectclass=user)(&(sAMAccountName=jtest)(!(objectclass=computer))))"
c.search(search_base = Path_Root,search_filter = Filter,attributes = ["cn", "sAMAccountName", "displayName"])
if len(c.entries) == 1:
USER_DN = c.response[0].get("dn")
c.extend.microsoft.modify_password(USER_DN, 'Formation123')
像这样,但最后一行一直返回 False。
你知道为什么吗?谢谢你。
【问题讨论】:
标签: python python-3.x active-directory ldap ldap3