繁体   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