我想使用WMI在C#中编写一个应用程序,它可以获取和更改存储在Windows凭据管理器中的Windows凭据,如下图所示:
答案 0 :(得分:2)
Ookii.Dialogs包含一个凭据对话框,可以根据需要调用CredUIPromptForCredentials或CredUIPromptForWindowsCredentials。
编辑:[{3}}详细介绍了凭据API - 但从托管代码实现可能很棘手。在CredUIPromptForWindowsCredentials之后,您可以致电http://msdn.microsoft.com/en-us/library/aa374731%28v=VS.85%29.aspx#credentials_management_ui_functions来保存凭据。
答案 1 :(得分:0)
编辑:误解了原始问题,因为图片不可见。
我不确定你是否可以通过WMI做你想做的事。但是,我认为可能使用DPAPI,但是文档似乎并不容易。但是,有一个名为NCrypto的开源项目有一个名为UICredentialsHelper
的类,可能会告诉您如何操作,或者至少如何开始。
答案 2 :(得分:0)
没有Windows API来获取用户的密码。密码不存储在Windows中。相反,Windows存储单向散列版本。
您可以使用WindowsIdentity.GetCurrent()获取用户名。或者,您可以通过Environment.UserName属性获取登录的用户名。
虽然改变凭据.....祝你好运:)这就是我最好的答案。我不认为微软会给我们这样做的能力。
答案 3 :(得分:0)
[空隙] Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType的= WindowsRuntime] (new-object Windows.Security.Credentials.PasswordVault).RetrieveAll()| %{$ .RetrievePassword(); $ }