Системный администратор Windows здесь.
Несколько различных способов сделать это с чисто сервис-ориентированной точки зрения.
--- 1 ---
Если выЯ использую Server 2016, я считаю, что команда Powershell 'New-Service' может быть одним из самых чистых способов.Посмотрите на следующее для синтаксиса и, если это соответствует вашему варианту использования -
https://support.microsoft.com/en-au/help/137890/how-to-create-a-user-defined-service
Этот CMDlet принимает параметр учетных данных, поэтому в зависимости от вашего варианта использования может быть полезно получить доступресурсы на других сторонних машинах.
--- 2 ---
Другой способ - использовать старую надежную встроенную утилиту SC.exe в Windows.
SC CREATE <servicename> Displayname= "<servicename>" binpath= "srvstart.exe <servicename> -c <path to srvstart config file>" start= <starttype>
Пример -
SC CREATE Plex Displayname= "Plex" binpath= "srvstart.exe Plex -c C:PlexService.ini" start= auto
Насколько я могу судить, это создаст службу, которая будет выполняться в контексте локальной системы.Для получения дополнительной информации просмотрите следующее:
https://support.microsoft.com/en-au/help/251192/how-to-create-a-windows-service-by-using-sc-exe
https://www.howtogeek.com/50786/using-srvstart-to-run-any-application-as-a-windows-service/
--- 3 ---
Возможно, вы захотите вручную добавить некоторые ключи реестра для создания собственной службы (котораяэто, по сути, то, что делает SC.exe под капотом).
Хотя, к сожалению, в настоящий момент я не в состоянии предоставить код котельной пластины, я бы посоветовал вам взглянуть на следующий ресурс:
https://www.osronline.com/article.cfm%5Eid=170.htm
ПРИМЕЧАНИЕ. Вам потребуется предоставить все необходимые вложенные ключи, чтобы он работал.
Как и при любых изменениях реестра, сделайте резервную копию своего реестра и внесите изменения на свой компьютер.собственный риск до внесения каких-либо изменений.Я могу только рекомендовать попробовать это на резервной / тестовой виртуальной машине, если это возможно, до внедрения в prod.