使用CMD从Windows Credential Manager检索密码

时间:2015-02-12 06:39:18

标签: windows cmd command-line command-prompt credential-manager

我正在尝试使用命令提示符从Windows Credential Manager添加和检索凭据。

要添加新凭据,我可以使用如下命令,它可以完美运行:

cmdkey /add:testTarget /user:testUser /pass:testPassword

但是,当我尝试使用CMD检索我之前添加的凭据(testTraget)时,我无法使用以下命令获取密码:

cmdkey /list:testTarget

该命令仅返回Target(testTarget),Type(域密码)和Username(testUser)

如何检索testUser密码?

我知道在Mac OS中使用Bash和keychain是可行的。

2 个答案:

答案 0 :(得分:1)

“如何检索testUser密码?”

使用cmdkey无法做到这一点。

参考 cmdkey

  

创建,列出或删除存储的用户名,密码或凭据。

...

  

存储后,密码不会显示。

答案 1 :(得分:0)

可以使用 powershell 和 Credman.ps1 库处理来自 cmdkey 凭证库的密码。

https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Credentials-d44c3cde

以系统用户身份添加凭据(在管理员的 powershell 控制台中的 psexec -s 之后)。为了安全使用,也以系统用户身份运行 powershell 脚本(即在任务调度程序任务中)。

要了解有关 Sysinternal 的 psExec 和 cmdkey 的更多信息,请参阅此答案: https://superuser.com/questions/1206443/how-to-add-cached-credentials-for-the-windows-system-acount

--

添加密码

cmdkey /generic:Foo /user:bar /pass:banana

使用 powershell 检索纯文本密码

. "Credman.ps1"

$CredKey = "Foo"

$sourceCredential = Read-Creds $CredKey
$pass = $sourceCredential.CredentialBlob.tostring()
write-host $pass