Как решить эту проблему?
Я знаю, что есть sc
утилита, но я не знаю, как назначить учетную запись локальной службы obj
параметр (из-за пробелов в имени) и как назначить пустой пароль (я предполагаю, что учетная запись локальной службы имеет пустой пароль) для password
параметр.
Чтобы было ясно, правильная команда:
SC CONFIG MYSERVICENAMEHERE obj="NT AUTHORITY\LocalService" password= ""
Что касается предыдущего комментария, имейте в виду, что Локальная система и Местная служба это не та же учетная запись. Местная служба имеет гораздо меньше прав.
Ответ @ Amir был наиболее близким, но после знаков равенства нужны пробелы. Если вы просмотрите справку по SC.EXE, вы увидите:
NOTE: The option name includes the equal sign.
A space is required between the equal sign and the value.
Итак, чтобы заставить это работать под реальной учетной записью Local Service в Windows 2012 R2, работало следующее:
SC.EXE CREATE TheServiceName start= auto binPath= "C:\path\to\TheService.exe" obj= "NT AUTHORITY\LocalService" password= ""
Когда я попробовал ...
obj= "\Local Service"
... он не был настроен для работы под реальной учетной записью локальной службы.
Это должно работать: SC CONFIG MyService binPath = c: \ myprogram.exe obj = ". \ LocalSystem" password = ""