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

7
我将尝试使用命令提示符添加和检索Windows凭据管理器中的凭据。
要添加新凭据,我有以下命令,它可以完美运行:
cmdkey /add:testTarget /user:testUser /pass:testPassword

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

cmdkey /list:testTarget

这个命令只返回目标(testTarget)、类型(域密码)和用户名(testUser)。

我该如何检索testUser的密码?

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

2个回答

2

如何找回testUser的密码?

使用cmdkey是不可能的。

参考 cmdkey

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

...

一旦存储,密码将不会显示。

4
这句话的翻译是:“这就引出一个问题,它们被存储用于什么?” - dprothero
1
现在我们知道不能使用cmdkey来做到这一点...应该有某种方法与存储交互以检索密码...那是什么? - Laurent Picquet
@user1885834(耸肩)我不知道。 - DavidPostill
4
我来到这里是在寻找同样的答案。我正在寻找类似于 macOS 上的 security 命令的东西。 - Michael Welch

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接