cmd提权
目录:程序员成长之旅/Batch学习
正好看到, 那就一行代码解决问题吧
UPDATE 10.12: 将 %s0 改为 ""%s0"" 以支持路径中有空格后无法正确执行的问题。
%1 start "" mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c ""%~s0"" ::","","runas",1)(window.close)&&exit
这一行代码会重新以管理员运行当前的 bat 脚本文件, 注意这行代码开始的 "%1" 是接收参数用的.
双击运行 "%1" 默认初始值为空, 该行代码执行, 即会执行" start ... ", execute部分为提权执行当前 bat 文件, 并会传入 "::" 这个注释符号为参数
则这行代码变成了注释 ":: start ... ", 不会执行了, 转而接着执行下面的 bat 命令, exit 的用处就很明显了吧~
这样放在第一行, 下面的所有命令就都是管理员权限跑的了.
作者:Scruel 链接:https://www.zhihu.com/question/34541107/answer/243592603 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。