[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 【已解决】脚本在域中执行的顺序

本帖最后由 1275 于 2013-5-5 20:39 编辑

首先说明下 不知道这个帖子放在这合不合理 要是不合理版主删了吧 谢谢!
是这样的我编辑了一个打开固定主页的批处理程序,一般情况下在域中通过登录脚本执行时都是在桌面还未出来之前执行;现在我想让脚本在桌面正常加载完成后再去执行;想问下这样做的话需要对脚本进行什么处理么?或者需要在域中进行什么调整么?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

推到每个用户的注册表里面可以吗?
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

TOP

推到每个用户的注册表里面可以吗?
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
BAT-VBS 发表于 2013-4-28 13:26


在这个位置新建键值?我想着是不是能把脚本放在“启动”文件夹下这样的话就行了?

TOP

回复 3# 1275


    都行,主要看你在域控上如何方便操作。

TOP

回复 4# BAT-VBS

就是说新建键值的方法也是在桌面出现后才会执行的?关于新建键值调用脚本有具体命令的介绍么?

TOP

哈,这我也试过,服务启动项、组策略里的开机/登录脚本貌似是在桌面之前执行。
而开始菜单里指向的启动文件夹是在 explorer.exe 运行完毕后才执行的。

具体可以参考下表:
  1. WINDOWS开机启动项的启动顺序
  2. 1.BootExecute
  3. HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute
  4. 2.Services
  5. 3.User enters a password and logon to the system
  6. 4.UserInit
  7. HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserInit
  8. 5.Shell
  9. HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell
  10. 6.All Users-RunOnce
  11. HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce
  12. 7.All Users-Run
  13. HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
  14. 8.All Users-RunOnceEx
  15. HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx
  16. 9.All Users-RunEx
  17. HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunEx
  18. 10.Current User-RunOnce
  19. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce
  20. 11.Current User-Run
  21. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
  22. 12.Current User-RunOnceEx
  23. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnceEx
  24. 13.Current User-RunEx
  25. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunEx
  26. 14.Common Startup Folder
  27. 15.Startup Folder
复制代码
1

评分人数

TOP

TOP

回复 6# CrLf
在微软论坛问了下,有人回复可以依照下面的方法,不过还没测试 呵呵
1. Disable "Computer Configuration\Administrative Templates\System\Script\Run logon scripts synchronously"

2. Let your script first loop checking if process "explorer.exe" exists before going on with your code.

但是又出现了一个新问题怎样用bat检测explorer.exe进程;并且我还想让它发现进程后延迟五秒再执行下面的命令;检测进程貌似只能用tasklist列出在Find ;但是延迟就不会了

TOP

返回列表