运行Windows服务时登录失败

时间:2012-09-13 16:16:55

标签: service

我正在Windows Server 2012上运行一个名为prunner的服务。我使用命令sc来更改服务的用户名和密码:

sc.exe config myService obj= "sqa265\hero" password= "hero1"

命令的输出是说它已经成功但是当我去任务管理器以启动服务时我得到:登录失败!!!

我试图在用户英雄和用户管理员下运行sc命令,但我仍然得到相同的错误。但非常奇怪的是,如果我通过任务管理器和服务控制窗格手动执行相同的操作,我成功并且服务进入状态:运行!!!但是我需要自动化这个东西,所以请帮忙吗?

1 个答案:

答案 0 :(得分:3)

您需要为帐户“sqa265 \ hero”授予SeServiceLogonRight权限。您已经注意到通过控制面板设置了凭据,但您可能没有注意到的是,如果您在使用控制面板后尝试使用命令行。

您可以通过在服务面板中将服务设置回本地系统帐户,然后再次运行命令行来测试此功能。

要从脚本中修复此问题,您可以使用此MS知识库文章中概述的NTRights实用程序: http://support.microsoft.com/kb/315276

安装NTRights后,您可以像这样运行它:

NTRights.exe +r SeServiceLogonRight -u "sqa265\hero"

结合您已有的sc config命令行,该服务应该使用这些凭据运行。

进一步阅读: http://www.techrepublic.com/article/set-user-rights-using-the-ntrights-utility/5032903

相关问题