我有 runas/savecred ... 和 cmdkey/add.... 的问题
我有一个批处理文件包含这一行:
runas /profile /savecred /user:MyDomain\MyUserName "MyProgram.exe"
我以管理员身份登录到我的计算机,我想与另一个用户一起执行 MyProgram.exe:MyUserName。
当我第一次启动我的批处理文件时,它会提示输入 MyUserName 的密码,我输入密码,它运行良好!!!
第二次,它不要求输入密码,因为 /savecred 已将 MyUserName 和密码保存在 Windows Credential 中。凉爽的 !!
Credential Manager 中的信息
Internet or network adress: MyDomain\MyUserName (Interactive logon)
User name: MyDomain\MyUserName
Password: ............
Persistence: Logon Session
现在,我想避免输入第一次询问的密码。为此,我使用 cmdkey.exe 自己添加了凭证,而没有/savecred 通过这一行
cmdkey /add:domain:interactive=MyDomain\MyUserName /user:MyDomain\MyUserName /pass:***********
我已经从 runas 行中删除了/savecred
Credential Manager 中的信息
Internet or network adress: MyDomain\MyUserName
User name: MyDomain\MyUserName
Password: ............
Persistence: Logon Session
看第一行没有 (交互式登录)。问题是当我启动批处理文件时,它总是提示输入密码,似乎runas丢弃了cmdkey保存的信息!
那么我错过了什么?或者/savecred 在 Windows 凭据中保存了哪些其他内容?
最佳答案
在 Windows 7 下,runas/savecred(交互式登录)凭据保存在目录 c:\users\username\appdata\roaming\microsoft\credentials 中的 HIDDEN 文件中。
如果将此文件移出此目录,则 Windows 凭据管理器中不会显示凭据。将文件移回引用的目录,然后凭据重新出现。不需要其他操作或调整。
您应该通过运行 runas/savecred 命令一次,然后根据需要移入和移出隐藏的加密文件来保存交互式登录。