Я хочу запустить службу Windows, написанную на golang, на моей сборке сервера Windows 1803. В сценарии 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, запущенным от имени администратора, отлично работает. Даже если я переключу пользователя LogOn на LocalSystem
, все идет гладко.
Как я могу решить проблемы на моем сервере Windows?