正在使用 CMD 从 Windows 凭据管理器中检索密码

Retrieving password from Windows Credential Manager using CMD

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

要添加新凭据,我有如下命令,它运行良好:

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

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

cmdkey /list:testTarget

命令仅 returns 目标 (testTarget)、类型 (域密码) 和用户名 (testUser)

如何找回测试用户密码?

我知道这在 Mac OS 中使用 Bash 和钥匙串是可能的。

"How can I retrieve the testUser password?"

使用 cmdkey 是不可能的。

参考 cmdkey:

Create, list or delete stored user names, passwords or credentials.

...

Once stored, passwords are not displayed.

可以使用 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