|
本帖最后由 hhh333 于 2013-6-10 10:01 编辑
sp_star 发表于 2013-6-8 06:36
工作组,longonui.exe,userinit.exe.
感谢老大的帮忙,这个切换到管理员基本搞好了,主要是注册表的问题,但在使用脚本时还是有一些问题,想提出来看是不是有问题:
1、在su.ini脚本中有:
//设置登录后的配置文件admin.ini
REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Init=PECMD.EXE MAIN %SystemRoot%\System32\admin.ini
实际上登录后它并不能执行,原因大概是这个已经不是系统登录,而是一个用户登录,它不会执行。
解决办法:放到用户登录的自动执行注册表项中。这又引伸出一个问题:因为Administrator是没有登录过的用户,登录时会用default用户的值进行重建,所以干脆先在Users\Default下准备一个NTUSER.DAT,这个文件由default注册表复制而来,在这个注册表中将PECMD.EXE MAIN %SystemRoot%\System32\admin.ini放到RUN项中,只要有重新登录就执行。
2、经过以上改造,又会出现一个问题,即不能kill explorer,因为它不会自动装载explorer,还要改Admin.ini这个脚本- _SUB NT6_DispInputIcon
- WAIT 3000
- FIND %CTFMON%,EXIT _SUB
- EXEC %WS%\%CTFMON%
- CALL NT6_DispInputIcon
- _END
- _SUB NT6_ENDPROG
- `删除desktop.ini
- FILE %public%\desktop\desktop.ini
- FILE %desktop%\desktop.ini
- FILE %Programs%\desktop.ini
- SEND #116
- `显示输入法图标(Win8-32似乎不需要)
- FIND $$$$%BootOS%=W7,CALL NT6_DispInputIcon
- IFEX %W%\sysWOW64\,CALL NT6_DispInputIcon
- _END
- //============主程序==================//
- `LOGS C:\ADMIN.LOG
- TEAM ENVI W=%WinDir%|ENVI WS=%W%\SYSTEM32|ENVI WSD=%WS%\Drivers
- REGI HKCU\AppEvents\Schemes\Apps\.Default\WindowsLogon\.Current\=
- `去掉psexec.exe首次运行弹出的窗口,修复登录界面卡死问题. (不使用PsExec, IE下载才能使用)
- `REGI HKCU\Software\Sysinternals\PsExec\EulaAccepted=#1
- KILL *explorer
- `任务栏图标需要重新设置,开始菜单不需要
- PINT %W%\Explorer.exe, TaskBand
- `安装输入法
- IFEX %WS%\internat.exe,ENVI CTFMON=internat.exe!ENVI CTFMON=CTFMON.EXE
- FIND CTFMON.EXE,KILL CTFMON.EXE
- "%ProgramFiles%\freeime\registry.exe" /s
- SHEL %WinDir%\explorer.exe
- `收尾工作
- CALL NT6_ENDPROG
- `LOGS
复制代码 即必须用SHEL的方法来装载explorer.exe才能由PECMD自动装载explorer进程。以上脚本可以看到,没有要那些外观设置的东西了,因为既然已经有用户注册表NTUSER.DAT,提前放进去就是了,或者说默认用户是什么样的,它就是什么样的,因为这个完全是default注册表值复制过来的。
3、切换用户还是比较慢,好象要几十秒钟以上(刚才测试了一下,64位切换需要46秒),不知是正常还是不正常,是哪里缺文件还是怎么的,正常系统是比较快的。
4、切换用户后,有些外置不能工作,可能并不是权限问题,是因为外置在设置时,有些注册表值是注册在HKCU中,现在换了用户肯定是没有的了,所以重新装载设置一下外置,一般就可以工作了。
5、顺便说一下,用你的工具生成系统,software注册表中还是会有大量的$windows.~bt没有改过来。
唉,不切换,CHM不能用,切换又相当麻烦!不知有不有两全其美的办法? |
|