2016-08-02 86 views
0

我想創建用於更改用戶密碼的腳本,但不知道現有密碼,因此就像將密碼重置爲新密碼一樣。在不知道現有密碼的情況下修改用戶密碼

下面是一個使用我的腳本用Python LDAP3

from ldap3 import * 
server = Server('myldapserver.com', get_info=ALL) 
the_user = 'cn=Manager,dc=domain,dc=com' 
conn = Connection(server, the_user, password='adminpass') 
conn.bind() 

user = 'cn=testuser,ou=People,dc=domain,dc=com' 
conn.extend.microsoft.modify_password('cn=testuser,ou=People,dc=domain,dc=com', None, 'newpassword') 
print(conn.result) 

但它給我的錯誤:

ldap3.core.exceptions.LDAPAttributeError: invalid attribute type in attribute 

如果有人可以幫助我,在此先感謝。

回答

0

我假設你正在嘗試更改Active Directory域中的密碼。 首先你必須檢查bind()方法的結果。如果綁定不成功,您將獲得匿名連接,並且您無法對密碼屬性進行任何操作。

此外,您還必須建立安全連接以更改密碼,嘗試在服務器對象中設置use_ssl = True,或者在conn.bind()後嘗試conn.start_tls()。

最後但更重要的是,新密碼是modify_password()的第二個參數,而不是第三個參數。

相關問題