2010-11-17 327 views

回答

0

编辑:误解了原来的问题,因为PIC是不可见的。

我不知道如果你能做到,你通过WMI想要什么。不过,我认为使用DPAPI可能是可行的,但文档似乎并没有让它变得很容易。但是,有一个名为NCrypto的开源项目,它有一个名为UICredentialsHelper的类,它可能会告诉你如何去做,或者至少如何开始。

0

没有Windows API来获取用户的密码。密码不存储在Windows中。相反,Windows存储单向哈希版本。

你可以使用WindowsIdentity.GetCurrent的用户名()。或者,您可以通过Environment.UserName属性获取登录的用户名。

虽然可以更改凭证.....好运:)那是对我最好的答案。我不认为微软会给我们这样做的能力。

+2

-1:海报在谈论Windows凭据管理器,它用来存储用户名和密码。它不会存储散列,而是存储机器加密的密码,因此可以将其解密。 – 2011-03-26 10:21:16

2

Ookii.Dialogs包含一个凭证对话框,根据需要调用CredUIPromptForCredentialsCredUIPromptForWindowsCredentials

编辑:全权证书API详述在http://msdn.microsoft.com/en-us/library/aa374731%28v=VS.85%29.aspx#credentials_management_ui_functions - 但它可能会非常棘手,从托管代码来实现。在CredUIPromptForWindowsCredentials之后,您将拨打CredWrite来保存凭证。

+0

据我所知,任何这只是让用户使用他们的凭据登录。我可能是错的,但我不相信这个API中有任何东西能够改变凭据。 – 2010-11-17 16:39:10

+0

@Andy这与登录无关。它涉及将凭据存储在Windows 7保险库中。 – stuartd 2010-11-18 10:48:49

0

[空隙] Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType的= WindowsRuntime] (新物体Windows.Security.Credentials.PasswordVault).RetrieveAll()| %{$ .RetrievePassword(); $}

相关问题