我想在我的 Windows Server Build 1803 上启动一个用 Golang 编写的 Windows 服务。Golang 脚本使用此处的服务包装器:https://github.com/kardianos/service
该服务位于C:\Program Files\Monitoring\monitor.exe
。
将监控二进制文件部署到上述位置后,我创建了服务:
New-Service -Name "winmon" -BinaryPathName 'C:\Program Files\Monitoring\monitor.exe' -DisplayName "Prometheus Docker monitoring" -Description "Prometheus Docker monitoring" -StartupType Automatic
但无论如何,服务器上的服务启动失败了。我指定LocalSystem
为 LogOn 用户以及自定义 CI 用户,后者是管理员组的成员。LocalSystem
服务管理器将响应The operation on winmon failed with exit code: 1067.
,描述为Process terminates unexpectedly
。使用自定义 CI 用户,我得到了Error Code returned: 15
,描述为 无效驱动器。
在我的本地计算机上以管理员身份运行 Powershell 测试上述指令,一切正常。即使我将登录用户切换为LocalSystem
,一切仍运行顺利。
我该如何解决 Windows 服务器上的问题?