Бежать.Служба Net Windows от имени администратора при автоматическом запуске

#c# #.net #.net-core #windows-services #admin

Вопрос:

Я пытаюсь открыть некоторые приложения .net core (с правами администратора в app.manifest) как администратор из автоматического .Служба Net Windows, которая запускается при запуске.

Когда я просто вхожу в систему и запускаю службу, она работает нормально, но если я настрою службу на автоматический запуск при запуске, то при перезапуске для ее тестирования в моих журналах появляется следующая ошибка: «Ошибка: запрошенная операция требует повышения», это происходит после запуска

 myProcess.StartAsActiveUser()
 

в качестве исключения из улова try.

Я добавил права администратора в app.manifest, использовал глагол runas и превратил UseShellExecute в true… И когда я регистрирую

 principal.IsInRole(WindowsBuiltInRole.Administrator);
 

при запуске службы для него установлено значение true, поэтому фактический пользователь имеет роль администратора…

Есть идеи, как заставить его работать администратором при автоматическом запуске?

Комментарии:

1. Он не должен начинаться с учетных данных администратора..

2. @alexherm да, в том-то и дело. Но есть ли какой-нибудь способ заставить это работать, зная все то, что я уже пытался сделать, чтобы это началось с администратора? Можно ли запустить процесс от имени администратора, не зная ключей администратора или не будучи зарегистрированным, так как автоматические службы запускаются при запуске?