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