在Windows Server 2003中设置系统closures时停止服务的顺序

有一种方法可以控制系统closures时停止服务的顺序吗?

我们的域控制器存在问题,由于服务closures(第一域服务,然后是Exchange)的顺序错误,永远closures(如果closures的话)。

我可以编写一个脚本来先停止Exchange,然后closures机器,但是真的希望能够发出shutdown /r /t 1而不必考虑它。

那么,有没有一种方法可以控制服务在系统停止/启动时停止/启动的顺序?

如何创buildWindows服务之间的依赖关系

  1. 运行regedit打开您的registry。
  2. 导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services并find您需要设置依赖关系的服务。
  3. 打开右侧的DependOnService键。 如果所选服务没有DependOnService密钥,则通过右键单击并selectNew > Multi-String Value来创build一个。
  4. 在值字段中,input当前服务将依赖的所有服务的名称。 每个服务名称必须正确input并单独一行。
  5. 单击确定,closures您的registry并重新启动您的机器。

您可以使用此方法来强制服务之间的依赖关系,但它是无证的。

真正的问题是为什么Exchange Server延迟closures。 Exchange不应该像这样延迟系统closures。 听起来这个真正的问题需要解决。

来自msexchange.org :

如果Exchange位于域控制器上,那就是问题所在。 这是由于简单的事实造成的,Exchange安装在DC上时只能用于域控制器function,当它closures时需要联系域控制器。 但是,在closures期间,域控制器function比Exchange更快地结束。 这个延迟是由Windows在开始杀死服务之前等待的时间而引起的,而不是让它们正常停止。

您可以使用脚本先closuresExchange,然后重新启动服务器。 但是,最好的select是将Exchangeclosures。 请记住,安装Exchange时无法删除DCfunction。 这不被支持,并会经常打破Exchange。 Exchange必须先被移除,或移到另一台机器上。

写脚本。 将其作为关机脚本分配给计算机。 该脚本将在任何服务停止之前处理。

只是猜测 – 你可以使Exchange服务(s)依赖于域服务? 我应该认为,Windows会closuresExchange,然后closures它们所依赖的。