Grundsätzlich versuchen, das Kennwort des Benutzers mithilfe von LDAP Python zurückzusetzen. Ich habe hier durch verschiedene Beiträge verschwunden war, aber kein Glück :(Aktualisieren Sie Active Directory-Kennwort mithilfe von LDAP Python
versucht, mit:.
a) modify_s() - returns "Kein solches Objekt" jedes Mal. Versucht mit verschiedenen Benutzer-DN.
{'info': "0000208D: NameErr: DSID-0310020A, Problem 2001 (NO_OBJECT), Daten 0, beste Übereinstimmung von: \ n \ t'DC = mydomain, DC = com '\ n",' abgestimmt ‚: 'DC = mydomain, DC = com', 'ab': 'Kein solches Objekt'}
Hier ist der Code Snippet:
def changePassword(userEmail, oldPassword, newPassword): try: ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER) ldap_client = ldap.initialize("ldap://127.0.01.1:389") ldap_client.set_option(ldap.OPT_REFERRALS, 0) ldap_client.set_option(ldap.OPT_PROTOCOL_VERSION, 3) ldap_client.set_option(ldap.OPT_X_TLS,ldap.OPT_X_TLS_DEMAND) ldap_client.set_option(ldap.OPT_X_TLS_DEMAND, True) ldap_client.set_option(ldap.OPT_DEBUG_LEVEL, 255) ldap_client.simple_bind_s(ADMIN_EMAIL, ADMIN_PASSWORD) # Set AD password #unicode_pass = unicode('\"' + newPassword + '\"', "iso-8859-1") unicode_pass = newPassword password_value = unicode_pass.encode("utf-16-le") add_pass = [(ldap.MOD_REPLACE, 'unicodePwd', [password_value]),(ldap.MOD_REPLACE, 'unicodePwd', [password_value])] # Replace password try: user_dn = 'CN=%s,DC=mydomain,DC=com' % username ldap_client.modify_s(user_dn, add_pass) print "Active Directory password for", username, \ "was set successfully!" except ldap.LDAPError, e: sys.stderr.write('Error setting AD password for: ' + username + '\n') sys.stderr.write('Message: ' + str(e) + '\n') ldap_client.unbind_s() return 'SOME_PROBLEM' ldap_client.unbind_s() return 'AUTHENTICATED' except ldap.INVALID_CREDENTIALS: ldap_client.unbind() return 'INVALID_CREDENTIALS' except ldap.SERVER_DOWN: return 'SERVER_UNAVAILABLE'
b)
passwd(userEmail, oldPassword, newPassword)
. Es wird gut ausgeführt, aber das Passwort wird nicht aktualisiert.
Brauchen Sie Hilfe bei der Identifizierung des Problems.
Referenz Links: Python+LDAP+SSL
python-ldap and Microsoft Active Directory: connect and delete user
how to set lockoutTime and password of a user of Active Directory
How can I change password for domain user(windows Active Directory) using Python?
https://groups.google.com/forum/#!topic/macromedia.coldfusion.security/Rq7xx15OeBs
http://www.grotan.com/ldap/python-ldap-samples.html#add
http://marcitland.blogspot.in/2011/02/python-active-directory-linux.html
https://snipt.net/Fotinakis/change-active-directory-password-via-ldap-modify-call/