使用 golang例子我创建了 Windows 服务应用程序,如文档中所述,我配置了服务用户和密码。我正在使用批处理脚本来执行
@REM install windows service using that application.
app install
timeout /t 5 /nobreak > NUL
@REM start service using sc.exe command.
sc.exe start testapp
它与“管理员”帐户配合良好。
但是如果在具有管理员权限的“测试”用户下安装相同的服务,则不会启动该服务。我需要从“services.msc”手动登录,然后它才能正常工作,用户名和密码是正确的。
有什么方法可以在批处理脚本中完成此登录吗?或者这是预期的行为?
请注意,在“安装”操作期间,服务用户名和密码由此“测试”用户配置。并且“测试”具有基于以下的“作为服务登录”权限这。
答案1
如果 Windows 服务需要安装在不同的用户下。该用户应该具有“作为服务登录”权限。没有该服务将无法启动。检查此项这里
有很多 powershell 脚本可以执行此操作。如果需要使用批处理或其他方法启用此功能。
就我而言,另一个用户应该具有管理员权限,以及“作为服务登录”权限,添加此权限后,它对我来说很好用。