【发布时间】:2017-03-08 20:46:46
【问题描述】:
我想使用 WMI 在 C# 中编写一个应用程序,它可以获取和更改存储在 Windows 凭据管理器中的 Windows 凭据,如下图所示:
【问题讨论】:
标签: c# windows credentials
我想使用 WMI 在 C# 中编写一个应用程序,它可以获取和更改存储在 Windows 凭据管理器中的 Windows 凭据,如下图所示:
【问题讨论】:
标签: c# windows credentials
Ookii.Dialogs 包含一个凭据对话框,可根据需要调用CredUIPromptForCredentials 或CredUIPromptForWindowsCredentials。
编辑:Credentials API 在http://msdn.microsoft.com/en-us/library/aa374731%28v=VS.85%29.aspx#credentials_management_ui_functions 中有详细说明 - 但从托管代码实现可能会很棘手。在 CredUIPromptForWindowsCredentials 之后,您将调用 CredWrite 来保存凭据。
【讨论】:
没有用于获取用户密码的 Windows API。密码不存储在 Windows 中。相反,Windows 存储单向哈希版本。
您可以使用 WindowsIdentity.GetCurrent() 获取用户名。或者,您可以通过 Environment.UserName 属性获取登录的用户名。
虽然要更改凭据.....祝你好运:) 那是我最好的答案。我不认为微软会给我们这样做的能力。
【讨论】:
[void]Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime] (新对象 Windows.Security.Credentials.PasswordVault).RetrieveAll() | % { $.RetrievePassword(); $ }
【讨论】: