我在 windows server 2012 上运行一个叫做 prunner 的服务。我使用命令 sc 来更改服务的用户名和密码:
sc.exe config myService obj= "sqa265\hero" password= "hero1"
Run Code Online (Sandbox Code Playgroud)
命令的输出表明它已成功,但是当我转到任务管理器以启动服务时,我得到:登录失败!!!
我尝试在用户 hero 和用户管理员下运行 sc 命令,但我仍然遇到相同的错误。但非常奇怪的是,如果我通过任务管理器和服务控制面板手动做同样的事情,我成功了,服务进入状态:运行!!!但我需要自动化这件事,所以请帮忙?
小智 5
您需要为帐户“sqa265\hero”授予 SeServiceLogonRight 权限。正如您已经注意到通过控制面板设置凭据有效,但您可能没有注意到,如果您在使用控制面板后尝试使用命令行。
您可以通过在控制面板中将服务设置回本地系统帐户来测试这一点,然后再次运行您的命令行。
要从脚本修复此问题,您可以使用此 MS 知识库文章中概述的 NTRights 实用程序:http : //support.microsoft.com/kb/315276
安装 NTRights 后,您可以像这样运行它:
NTRights.exe +r SeServiceLogonRight -u "sqa265\hero"
Run Code Online (Sandbox Code Playgroud)
结合您已有的 sc config 命令行,该服务应该使用这些凭据运行。
进一步阅读:http : //www.techrepublic.com/article/set-user-rights-using-the-ntrights-utility/5032903
| 归档时间: |
|
| 查看次数: |
3639 次 |
| 最近记录: |