Windows 2012 R2 서버와 LDAP 서버가 있습니다. 나는 사용자의 암호를 수정하는 파이썬 스크립트를 작성했다. (관리자가 아닌 사용자는 자신의 암호를 수정하고 싶다. 관리자가되었을 때 암호를 수정하는 다른 기능이 있지만 나는 원하지 않는다. 암호를 설정하고 수정하십시오). 이 내 코드의 샘플입니다python LDAP 비밀번호 수정
#!/usr/bin/env python
#coding:utf-8
import ldap
import ldap.modlist as modlist
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
ld = ldap.initialize('ldaps://xxx.xxx.xxx.xxx:636')
ld.simple_bind_s('[email protected]', 'XXXXXXX')
new = {'unicodePwd':[str('"XXXXXXXX"').decode('utf8').encode('utf-16-le')]}
old = {'unicodePwd':[str('"YYYYYYYY"').decode('utf8').encode('utf-16-le')]}
ldif = modlist.modifyModlist(old, new)
ld.modify_s('A DN',ldif)
하지만 그것을 실행할 때, 나는 오류가 있습니다
ldap.CONSTRAINT_VIOLATION : { '정보': '0000052D : AtrErr : DSID-03191083를, # 1 : \ n의 \의 T0 : 0000052D : DSID가-03191083, 문제 1,005 (CONSTRAINT_ATT_TYPE), 데이터 0, 감쇄기 9005a (를 unicodePwd) \ n ','DESC ''제약 위반 '}
I 함께 시도 디코딩/인 코드 또는 디코딩. passwd_s()도 작동하지 않습니다. Google에서 많은 검색을했는데 다른 사람들을위한 많은 솔루션을 찾았지만 나를 위해 일하지 않았습니다.
누군가가 나를 도울 수 있다면, 미리 감사드립니다.
숫자, 대문자 및 기호와 함께 매우 긴 암호를 제공하더라도 항상 같은 문제가 있습니다. 내 사용자가 어떤 그룹에도 속해 있지 않습니다. 관리자 인 경우에만 암호를 변경할 수 있습니다. – julien2313
감사합니다. GPO에 문제가있었습니다. 나는 그들을 바꾼다. 자, 0x56 오류가 있지만 잘 진행됩니다! – julien2313