有些软件执行命令必须要有管理员权限才能执行,我们平时的做法是右击这个文件——以管理员身份运行,当然批处理也不例外。如何无需其它操作直接双击就可以以管理员权限运行呢?
我们只需在批处理添加如下代码即可
@echooffsetlocalEnableDelayedExpansionPUSHD%~DP0&cd/d"%~dp0"%1%2mshtavbscript:createobject("shell.application").shellexecute("%~s0","goto:runas","","runas",1)(window.close)&goto:eof:runas
我们把需要执行命令放到:runas下即可。
比如我这边以新建一个abc的用户,并把它加入administrators管理组为例,那么代码如下:
@echooffsetlocalEnableDelayedExpansionPUSHD%~DP0&cd/d"%~dp0"%1%2mshtavbscript:createobject("shell.application").shellexecute("%~s0","goto:runas","","runas",1)(window.close)&goto:eof:runasnetuserabc123/adnetlocalgroupadministratorsabc/adpause>nul
我执行下
用户中多了一个abc的用户。
abc这个用户经查看已经在administrators组中了。