我遇到 runas / savecred ... 和 cmdkey / add .... 的问题 我有一个批处理文件包含这一行:
runas /profile /savecred /user:MyDomain\MyUserName "MyProgram.exe"
我以管理员身份登录计算机,我想与其他用户执行MyProgram.exe:MyUserName。
当我启动我的批处理文件时,它提示输入MyUserName的密码,我输入密码,它工作得很好!!!
第二次,它不会要求输入密码,因为 / savecred 已在Windows Credential中保存了MyUserName和密码。很酷!!
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凭据中保存了哪些其他内容?
答案 0 :(得分:4)
在Windows 7下,runas / savecred(交互式登录)凭据保存在目录c:\ users \ username \ appdata \ roaming \ microsoft \ credentials中的HIDDEN文件中。
如果将此文件移出此目录,则凭据不会显示在Windows凭据管理器中。将文件移回引用的目录,然后重新出现凭据。不需要其他操纵或调整。
您应该通过运行runas / savecred命令一次保存交互式登录,然后根据需要移入和移出隐藏的加密文件。
答案 1 :(得分:4)
无论如何,您可能不想要使用 / savecred 选项,因为这会将您的密码(加密)全局无条件地保存到配置文件 ,让用户随时都可以使用任何命令开始运行" runas ",不仅仅是你想要的命令。将密码保存在CMDKey别名中也不是一个好主意。如果您需要能够使用备用或提升的凭据运行命令,则首选(且更安全)方法是创建计划任务以使用备用/提升的凭据运行命令。有关如何执行此操作的详细信息以及其他信息,请参阅此处https://superuser.com/a/903881/229612的答案。