无忧启动论坛

标题: bat文件用SYSTEM权限运行 [打印本页]

作者: houxiren    时间: 2018-6-30 15:12
标题: bat文件用SYSTEM权限运行
本帖最后由 houxiren 于 2018-7-1 19:39 编辑


原问题其实可以看成是两个,如何设置电源设置,如何bat文件用SYSTEM权限运行:

1,如何设置电源设置
  得到了 9zhmke、wuhuayu、窄口牛,各位前辈的帮助,在此谢谢。
2,如何bat文件用SYSTEM权限运行
  得到了 527104427、mdyblog、wuhuayu、wuyouaaa,各位前辈的帮助,在此谢谢。


特别感谢 亲自动手修改详细指导的 527104427、mdyblog 两位前辈。


原问题如下:
bat文件存在D:\1.BAT

BAT文件想写入注册表的内容如下:
@echo off
Setlocal enabledelayedexpansion
for /f "tokens=3" %%i in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes" /v "ActivePowerScheme"') do set value=%%i
echo %value%
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\%value%\0012ee47-9041-4b5d-9b77-535fba8b1442\6738e2c4-e8a5-4a42-b16a-e040e769756e" /v "JDPopup" /t REG_DWORD /d 0 /f
pause

先谢谢坛友帮助了。
作者: hhy    时间: 2018-6-30 15:33
写不了,只能在PE下挂载SYSTEM修改
作者: wuyouaaa    时间: 2018-6-30 15:36
https://github.com/M2Team/NSudo
https://github.com/M2Team/NSudo/blob/master/%E8%87%AA%E8%BF%B0.md
作者: houxiren    时间: 2018-6-30 15:39
wuyouaaa 发表于 2018-6-30 15:36
https://github.com/M2Team/NSudo
https://github.com/M2Team/NSudo/blob/master/%E8%87%AA%E8%BF%B0.md

谢谢,我试试。
作者: houxiren    时间: 2018-6-30 15:41
hhy 发表于 2018-6-30 15:33
写不了,只能在PE下挂载SYSTEM修改

调用其他能写的,已实现。
谢谢您。

作者: wuyouaaa    时间: 2018-6-30 15:44
另外,为什么不调用powercfg实现?
作者: 23070205    时间: 2018-6-30 16:01
regini命令可以做到。这个命令可以修改注册表和注册表权限。
regini命令格式为:
regini regini.ini
其中regini.ini的格式为:
注册表键值
http://vincenlei.blog.163.com/blog/static/16332135420108291450156/
注册表键数值 [更改的权限]
例如:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
test = c:\windows\system32\test.exe
该ini用来在run中添加一个test的启动值。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run [1 7 17]
该ini分别设置 Administrators、everyone、 System 三个用户对注册表
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
拥有完全访问权限

以下是对应的权限代码

1 - Administrators 完全访问
2 - Administrators 只读访问
3 - Administrators 读和写入访问
4 - Administrators 读、写入、删除访问
5 - Creator 完全访问
6 - Creator 读和写入访问
7 - everyone 完全访问
8 - everyone 只读访问
9 - everyone 读和写入访问
10 - everyone 读、写入、删除访问
11 - Power Users 完全访问
12 - Power Users 读和写入访问
13 - Power Users 读、写入、删除访问
14 - System Operators 完全访问
15 - System Operators 读和写入访问
16 - System Operators 读、写入、删除访问
17 - System 完全访问
18 - System 读和写入访问
19 - System 只读访问
20 - Administrators 读、写、执行访问
21 - Interactive User 完全访问
22 - Interactive User 读和写入访问
23 - Interactive User 读、写入、删除访问
ok,自己试试,应该很简单了。

作者: 窄口牛    时间: 2018-6-30 16:07
没必要弄注册表,powercfg了解一下。
作者: houxiren    时间: 2018-6-30 16:21
本帖最后由 houxiren 于 2018-6-30 17:07 编辑
窄口牛 发表于 2018-6-30 16:07
没必要弄注册表,powercfg了解一下。


谢谢窄口牛前辈指导 。powercfg确实更方便。
作者: 527104427    时间: 2018-6-30 16:23
用pecmd啊。
system权限:PECMD  exec  -suc  -hide  =D:\1.BAT
作者: houxiren    时间: 2018-6-30 16:38
527104427 发表于 2018-6-30 16:23
用pecmd啊。
system权限:PECMD  exec  -suc  -hide  =D:\1.BAT

谢谢您指导,运行后提示:拒绝访问。
作者: houxiren    时间: 2018-6-30 16:40
23070205 发表于 2018-6-30 16:01
regini命令可以做到。这个命令可以修改注册表和注册表权限。
regini命令格式为:
regini regini.ini

有变量怎么办?
作者: 527104427    时间: 2018-6-30 16:49
houxiren 发表于 2018-6-30 16:38
谢谢您指导,运行后提示:拒绝访问。

要最新版的PECMD。旧版没有这功能
作者: houxiren    时间: 2018-6-30 16:55
527104427 发表于 2018-6-30 16:49
要最新版的PECMD。旧版没有这功能

用的版本是:PECMD2012.1.88.05.82Stable-180148测试

能不能做到D:\只放两个文件,一个是1.bat,一个是PECMD.EXE
双击直接运行1.bat就行。 可以这样吗?可以的话,1.bat文件的内容怎么编写?

谢谢您的指导。
作者: 527104427    时间: 2018-6-30 17:24
houxiren 发表于 2018-6-30 16:55
用的版本是:PECMD2012.1.88.05.82Stable-180148测试

能不能做到D:\只放两个文件,一个是1.bat,一个 ...

改PECMD的内置资源嘛:SCRIPT    101    2052
编辑以上资源,加入语句:EXEC -uac =1.bat
保存,双击PECMD.EXE即可
作者: houxiren    时间: 2018-6-30 17:38
527104427 发表于 2018-6-30 17:24
改PECMD的内置资源嘛:SCRIPT    101    2052
编辑以上资源,加入语句:EXEC -uac =1.bat
保存,双击PE ...

5前辈,我水平差,能否帮我改一个。以后就可以直接用,也可以参考您的修改学习了。
作者: wuhuayu    时间: 2018-6-30 17:56
用 NSudo.exe   简单方便
作者: 527104427    时间: 2018-6-30 18:26
本帖最后由 527104427 于 2018-6-30 18:43 编辑
houxiren 发表于 2018-6-30 17:38
5前辈,我水平差,能否帮我改一个。以后就可以直接用,也可以参考您的修改学习了。


前辈不敢当,我也是大菜鸟一个。

PECMD.7z

950.58 KB, 下载次数: 21, 下载积分: 无忧币 -2


作者: houxiren    时间: 2018-6-30 21:28
527104427 发表于 2018-6-30 18:26
前辈不敢当,我也是大菜鸟一个。

谢谢5前辈,仍然 错误:拒绝访问。
跟我的系统有关吗?我的系统是WIN10 LTSB X64,已关闭了UAC和杀毒。
作者: houxiren    时间: 2018-6-30 21:28
wuhuayu 发表于 2018-6-30 17:56
用 NSudo.exe   简单方便

谢谢您的指导,能详细指导一下吗?谢谢。
作者: 527104427    时间: 2018-6-30 21:46
houxiren 发表于 2018-6-30 21:28
谢谢5前辈,仍然 错误:拒绝访问。
跟我的系统有关吗?我的系统是WIN10 LTSB X64,已关闭了UAC和杀毒。

这个真不清楚,看PECMD的说明,是支持SYSTEM权限的,可能并不完善吧,只有等开发者M大来解答了。
作者: mdyblog    时间: 2018-7-1 09:33
本帖最后由 mdyblog 于 2018-7-1 10:02 编辑

下载最新的PECMD2012  http://bbs.wuyou.net/forum.php?mod=viewthread&tid=205402&extra=page%3D1
【以管理员运行】 : PECMD EXEC -su 执行(SYSTEM权限):

  1. PECMD EXEC -sud   =cmd.exe  /c CALL D:\1.BAT
复制代码


效果:


如果 下面命令 【以管理员运行】  执行一次,初始化后, 不再需要 【以管理员运行 】也可以的。


  1. PECMD EXEC -uac   cmd
复制代码


而且以后, 可以跳过UAC提示。
(非UAC限制的Administrator权限)
  1. PECMD EXEC -uac   regedit
复制代码



(SYSTEM权限)
  1. PECMD EXEC -su   regedit
复制代码




作者: mdyblog    时间: 2018-7-1 09:40
本帖最后由 mdyblog 于 2018-7-1 10:00 编辑
527104427 发表于 2018-6-30 16:23
用pecmd啊。
system权限:PECMD  exec  -suc  -hide  =D:\1.BAT


不能用c后缀。 c是UAC, 权限是非UAC限制Administor,只是清除了UAC限制。
UAC是不受限的Administor,就是 【以管理员方式】。 权限没有SYSTEM高。
他的BAT有PAUSE, 不能用-hide
作者: 527104427    时间: 2018-7-1 11:39
mdyblog 发表于 2018-7-1 09:40
不能用c后缀。 c是UAC, 权限是非UAC限制Administor,只是清除了UAC限制。
UAC是不受限的Administor, ...

哦,原来是这样用的,明白了。
作者: mdyblog    时间: 2018-7-1 11:52
本帖最后由 mdyblog 于 2018-7-1 12:04 编辑
houxiren 发表于 2018-6-30 16:55
用的版本是:PECMD2012.1.88.05.82Stable-180148测试

能不能做到D:\只放两个文件,一个是1.bat,一个 ...


这里写好的。 PECMD-su.rar (888.67 KB, 下载次数: 33)
2个版本:

【1】(默认)调用外置bat
1: 直接双击
    调用 D:\1.bat

2: PECMD -bat  BAT文件 参数
   调用任意BAT/CMD
如:
  PECMD  -bat   D:\2.bat

3: PECMD -hbat  BAT文件 参数
   调用任意BAT/CMD,不显示黑窗口
   注意不要用PAUSE,按不了回车的。
如:
  PECMD  -hbat   D:\2.bat


【2】(默认)完全内置不用1bat
1: 直接双击
    调用 内置的 PECMD脚本。  ----用 PECMD脚本, 没空格问题

2: PECMD -bat  BAT文件 参数
   调用任意BAT/CMD
如:
  PECMD  -bat   D:\2.cmd

3: PECMD -hbat  BAT文件 参数
   调用任意BAT/CMD,不显示黑窗口
   注意不要用PAUSE,按不了回车的。
如:
  PECMD  -hbat   D:\2.bat



作者: 527104427    时间: 2018-7-1 12:01
mdyblog 发表于 2018-7-1 11:52
这里写好的。
2个版本:

老大,刚看到GETF -find更新了功能,不知道怎么用呢。比如查找两次,是  2*变量名?还是直接 2变量名?试了一下,还是不明白。
作者: 9zhmke    时间: 2018-7-1 16:52
大神纷纷出马,作为小白就没什么说的了,总的来说,一是使用powercfg.exe -setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 类似的Powercfg来完成,二是先改注册表权限再写注册表,三是直接第三方工具。
作者: shuaif    时间: 2020-6-23 09:41
houxiren 发表于 2018-6-30 15:41
调用其他能写的,已实现。
谢谢您。

群主,怎么实现的,可以共享或者私信一下吗?
查遍了资料,有页面设置的,有修改权限的,还有无用命令的,也有通过第三方软件的,就是没找到成功的。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3