如何从另一个批处理文件启动/调用批处理文件,但具有管理权限,以便它不会给出如下错误?
Access is denied error code 5
这就像我希望的那样.
echo PLEASE TYPE YOUR USERNAME AND PASSWORD IN THE FIELDS BELOW. echo. echo. echo. echo. set /p u=Username: echo. set /p p=Password: start next.bat %u% %p%
有时像
AutoIt这样的第三方实用程序(参见
runas功能)不是一个选项 – 但如果你确实有这个选项,请检查它,因为这样可以让你完全按照你的目标行事.然后,您可以从脚本中调用AutoIt脚本并使用其runas函数.
Windows runas不支持提供密码,除非你对/ savecred选项感到满意 – 如果你只是从一台计算机上运行任务就没问题.它第一次会要求您输入密码,但之后它将不会(尽管每次使用时仍需要使用/ savecred选项).我有一种感觉,使用它可能是一个巨大的安全漏洞.但由于它似乎适用于您自己的机器,因此在您的批处理中使用此:
runas /user:computername\username /savecred yourcommand.exe
另一种方法是创建可由脚本调用的计划任务.您可以使用GUI或从提升的命令行创建它,如described here.
然后,您可以从脚本中调用它,如下所示:
SCHTASKS /Run /TN yourtaskname