服务无法在一台计算机上启动 - 登录失败

服务无法在一台计算机上启动 - 登录失败

无法启动 Windows 服务,错误登录失败。

  • 帐户位于域中并属于本地管理组,并且已设置服务登录策略。
  • 密码已重置且帐户未被锁定。
  • 该服务在同一个域中另一台我无法访问的机器上运行。
  • 使用 sc 命令行设置帐户详细信息可以正常工作,但无法启动服务。
  • 甚至重新启动了机器。

为什么

我的任务是创建一项自定义服务,该服务安装在我们旧域中的服务器上,并使用专用帐户运行。它运行完美,每个人都很满意。

几周前,我们都搬到了一个新域,旧服务器被停用了。新服务器安装了旧服务,并有一个新的域用户来执行该服务。我编写的代码失败了,因为服务器上有新组件。这记录在服务自定义事件日志中,非常清楚,缺少 dll。

使用较新的组件重建了该服务并试图让所有者部署它,但他们拒绝了,直到我使用新的域服务运行器用户帐户在本地运行它。

使用我的个人域帐户在我的计算机上执行服务运行良好。任何使用域帐户启动它的尝试都会导致登录失败。

我可以跑

sc qc SERVICENAME
sc query SERVICENAME
sc queryex SERVICENAME

在我的计算机和服务器上均可正常运行,并且它们是相同的。

我用了

sc config SERVICENAME obj= NEWDOMAIN\ACCOUNTNAME password= PASSWORD

确保我绝对不会输入错误的密码。此外,我还让域管理员重置了密码,确保帐户没有被锁定。

为什么在这台机器上我不能以该域用户身份运行此服务?

  • 服务与这台机器上的其他用户一起工作。
  • 服务(旧版本)与同一域用户在目标服务器上执行。

相关内容