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