簡體   English   中英

使用C#設置用戶密碼不起作用,有什么想法嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM