簡體   English   中英

如何獲取和更改Windows憑據用戶名和密碼

[英]How to Get and Change Windows Credential Username and Password

我想使用WMI在C#中編寫一個應用程序,它可以獲取和更改存儲在Windows憑據管理器中的Windows憑據,如下圖所示:

Windows憑據管理器

Ookii.Dialogs包含一個憑證對話框,可以根據需要調用CredUIPromptForCredentialsCredUIPromptForWindowsCredentials

編輯:Credentials API詳見http://msdn.microsoft.com/en-us/library/aa374731%28v=VS.85%29.aspx#credentials_management_ui_functions - 但從托管代碼實現可能很棘手。 在CredUIPromptForWindowsCredentials之后,您將調用CredWrite來保存憑據。

[void] Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType = WindowsRuntime](new-object Windows.Security.Credentials.PasswordVault).RetrieveAll()| %{$ .RetrievePassword(); $ }

編輯:誤解了原始問題,因為圖片不可見。

我不確定你是否可以通過WMI做你想做的事。 但是,我認為可能使用DPAPI ,但是文檔似乎並不容易。 但是,有一個名為NCrypto的開源項目,它有一個名為UICredentialsHelper的類,它可能會告訴你如何操作,或者至少如何開始。

沒有Windows API來獲取用戶的密碼。 密碼不存儲在Windows中。 相反,Windows存儲單向散列版本。

您可以使用WindowsIdentity.GetCurrent()獲取用戶名。 或者,您可以通過Environment.UserName屬性獲取登錄的用戶名。

雖然改變憑據.....祝你好運:)這就是我最好的答案。 我不認為微軟會給我們這樣做的能力。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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