windows-7 – 如何在批处理文件中启动具有管理员权限的程序

如何从另一个批处理文件启动/调用批处理文件,但具有管理权限,以便它不会给出如下错误

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

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...