我正在尝试xcopy
以管理员身份运行批处理文件中的命令。这是正确的命令吗?我该如何将密码传递给它?
runas /noprofile /user:Domain Name\user account
答案1
要自动验证,请添加/savecred
标志。您必须在脚本第一次运行时输入密码,但此后它将被保存。
意识到runas
然后能够使用保存的凭据来执行任何给定的程序,因此在采取这条路线之前,请先考虑一下这可能会成为一个安全问题。
您的用法是正确的,只需在最后添加程序路径即可。
runas /noprofile /user:[email protected] /savecred script.bat
或者
runas /noprofile /user:joe-pc\joe /savecred script.bat
要删除已保存的凭证,请搜索凭证管理器在控制面板中。
答案2
当您运行批处理文件来执行指定的命令时,该runas
命令应该提示您输入凭据。只要你在cmd.exe中运行它。这是因为需要标准输入来提示输入密码。您不能直接双击它。将密码以明文形式存储在批处理文件中不是一个好主意,因为它 不安全。这就是为什么它在运行时提示。
您可以右键单击可执行文件并单击Run as Administrator
,而无需runas
命令。 这可能是您正在寻找的解决方案。
如果您想将该任务作为计划任务运行,您可以将其设置为以不同的用户身份运行。
答案3
调用批处理文件时可以使用 RunAs(右键单击批处理文件,然后单击 Runas),让批处理以管理员身份运行。我怀疑 Runas 在批处理中不起作用。我建议不要在批处理文件中输入密码,即使它起作用,批处理文件也是纯文本,因此您不妨将密码写在显示器上的便签上。
答案4
该网站讨论创建一个自动脚本,将文件内容混淆到文件底部。
http://www.neowin.net/forum/topic/922704-secure-use-of-passwords-in-batch-files/