本帖最后由 yiyu2012 于 2021-12-26 13:11 编辑
精简系统的服务是调教过的,如果使用起来感觉还合适,但就是缺少点组件,不得以用回普通系统,但多余的服务又得自行优化,非常麻烦。遂写了个同步Services项下所有子项start值(含服务)状态的批处理,有用自取。对于待复制start值的系统A和需要进行start值修改的系统B,执行以下操作:
1)提取服务列表
从系统A,导出HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services为Services.reg,使用txt编辑器打开Services.reg,复制全部内容,粘贴到excel表格第一列第一行,对第一列进行降序或升序排列。复制全部被“[]”括起来的内容到Services.txt
替换“[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\”为空,再次替换“]”为空,
得到如下文档,保存并替换Services.txt到批处理目录。
2)运行"同步服务.bat"
3)生成文件
首次运行需要对含有额外数据的Services.txt进行处理,速度较慢。当批处理运行结束,生成的tservices.txt为系统A的services注册表项子项的start值列表,可删除含额外数据的services.txt,重命名tservices.txt为services.txt以便下次运行。tservices.bat为保存的系统A所有services注册表项子项的start值状态,需要再次执行start修改时,可以到目标系统下管理员提权运行tservices.bat进行修改。bkservices.bat为保存的系统B原始start值状态,若出现问题,可以管理员提权运行该批处理进行还原。
对了,由于用到了NSudo.exe提权,请自行在批处理目录放置NSudo.exe程序,或者放到\Windows\System32,那么这段提权代码就可以在任意批处理中执行了。
|