[英]Setting user password using C# does not work, any ideas?
我需要重置用戶密碼。 為此,我使用以下代碼:
DirectoryEntry de = ..
de.AuthenticationType = AuthenticationType.Secure
de.Password = txtPassword.text
de.CommitChanges()
當我運行代碼時 - 沒有任何反應。 用戶密碼不會更改,也不會引發異常。
如果我使用以下方法:
de.Invoke("SetPassword", .. );
當我運行代碼時,我收到一條消息:請插入智能卡...
我對用戶帳戶擁有管理員權限。 用戶沒有為智能卡設置UAV。
有任何想法嗎 ?
DirectoryEntry類的Password屬性不是您認為的那樣。 您沒有更改用戶的密碼,您正在更改用於從DirectoryEntry對象訪問更多信息的密碼。
從MSDN文檔 :
您可以設置“用戶名”和“密碼”屬性,以指定用於訪問Active Directory域服務中的信息的備用憑據。 從此實例檢索的任何其他DirectoryEntry對象(例如,通過子項)將使用相同的備用憑據自動創建。
使用第二種方法,如果您被要求插入智能卡,我懷疑這與您正在修改的用戶有什么關系 - 它更可能是它要求您的智能卡。 如果您還沒有設置使用智能卡,那么我真的不確定它為什么要求您使用智能卡。
看看這個相關的問題 ,看看那里的答案是否有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.