Board logo

标题: [文本处理] [求助]批处理文件在system32目录下能新建目录,但封装到exe文件就失效 [打印本页]

作者: riverli    时间: 2020-5-29 09:10     标题: [求助]批处理文件在system32目录下能新建目录,但封装到exe文件就失效

本帖最后由 riverli 于 2020-5-29 09:30 编辑

写了一个批处理进行组策略修改,需要在系统目录system32/GroupPolicy下新建目录,再拷贝文件。现在的问题是,单个批处理是可以完成新建目录,但需要右击“使用管理员运行”,通过winrar、bat2exe、nsis等进行封装成exe并提权后,单单新建目录就不生效了。甚至在bat文件通过脚本提权,单单执行bat文件无问题,但转换到exe就失效了。觉得很奇怪,大家有没有遇到过?



注:由于需要额外附加文件配合,想一个exe文件完成打包,所有一直希望封装成exe文件。
作者: 不知道是谁    时间: 2020-5-29 09:25

是WinRAR的自解压吧?转换自解压格式时把自解压模块改成Default64.SFX试试,但要注意转换好的文件在32位系统下不能运行
作者: riverli    时间: 2020-5-29 09:36

是WinRAR的自解压吧?转换自解压格式时把自解压模块改成Default64.SFX试试,但要注意转换好的文件在32位系统 ...
不知道是谁 发表于 2020-5-29 09:25



    用过rar自解也是一样,解压、执行基本无问题,就是在system32下新建目录不行,批处理其他拷贝文件、写入注册表都正常。经测试在其他位置新建目录也正常,就是system32不行
if not exist "%windir%\SYSTEM32\GroupPolicy\Machine"  (md %windir%\SYSTEM32\GroupPolicy\Machine)
作者: 不知道是谁    时间: 2020-5-29 10:16

  1. @echo off
  2. %1 %2
  3. mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~s0","goto start","","runas",1)(window.close)
  4. exit
  5. :start
  6. 你的命令
复制代码

作者: riverli    时间: 2020-5-29 10:29

不知道是谁 发表于 2020-5-29 10:16



    尝试过通过脚本自行提权,单单执行bat是可以的,只是封装成exe就失败了。

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin)
:UACPrompt
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
:UACAdmin
echo 已获取管理员权限
ping /n  3 127.0.0.1 >nul
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2