Windows 服务在重新启动后不会自动启动(启动类型为“自动”)



我们有一个在用户帐户上运行的自定义Windows服务。每当我们重新启动服务器时,服务都会停止。要再次启动服务,我们必须在服务的"登录"选项卡中再次输入密码。是什么原因导致此问题以及如何解决问题?

当服务用户位于域中并且域策略定期覆盖本地策略,从而删除该用户的"作为服务登录"权限时,可能会发生您描述的行为。

若要解决此问题,请编辑域组策略(使用 gpmc.msc),并确保服务的用户具有"作为服务登录"权限。

Windows 服务控制

管理器Microsoft控制所有已安装的 Windows 服务的状态(即已启动、已停止、已暂停等)。默认情况下,服务控制管理器将等待 30,000 毫秒(30 秒)让服务响应。某些配置、技术限制或性能问题可能会导致服务启动时间超过 30 秒,并向服务控制管理器报告就绪情况。

通过编辑或创建 ServicesPipeTimeout DWORD 值,可以重写服务控制管理器超时期限,从而使服务有更多时间来启动并向服务报告就绪情况。

怎么做?

  1. 转到"开始">运行>并键入注册表编辑器
  2. 导航到:HKEY_LOCAL_MACHINE\系统\当前控件集\控件
  3. 选择控件文件夹后,右键单击右侧窗格并选择新的 DWORD 值
  4. 将新的 DWORD 命名为:ServicesPipeTimeout
  5. 右键单击"服务管道超时",然后单击"修改"
  6. 单击"十进制",键入"180000",然后单击"确定"
  7. 重新启动计算机

注意:上述建议将超时增加到 180,000 毫秒(3 分钟),但根据您的环境,可能需要进一步增加。请记住,增加此值可能会延长服务器启动时间。

最新更新