как запустить отдельный процесс под системной учетной записью из службы windows? - PullRequest
1 голос
/ 26 июля 2011

Я прочитал много похожих вопросов по SO, но не нашел ответа

Мне нужно запустить отдельный процесс из службы Windows при входе в систему в сеансе пользователя, но под системной учетной записью, таким образом, пользовательне может завершить процесс

Мне нужно, чтобы этот процесс взаимодействовал с рабочим столом в целях контроля.

главная цель - не дать пользователю завершить процесс.

Ответы [ 2 ]

2 голосов
/ 26 июля 2011

Если вы запускаете интерактивные приложения (с графическим интерфейсом или без), из текущей зарегистрированной учетной записи пользователя - конечный пользователь (имеющий права администратора) может прекратить процесс.Вам либо нужно сохранить его как сервис SYSTEM, либо удалить всю информацию DACL / ACL из процесса, используя SetKernelObjectSecurity .

0 голосов
/ 27 июля 2011

на самом деле есть гораздо более простой способ добиться того же: предотвратить завершение процесса пользователем без специальных привилегий (таких как права администратора)

после долгого копания я нашел здесь приемлемый ответ: Предотвращение уничтожения пользовательского процесса с помощью "End Process" из Process Explorer

отлично работает, если вы вошли в систему как обычный пользователь, вы не можете убить процесс из Process Explorer. Администратор все еще может убить его, потому что имеет достаточные права. это именно то, что мне нужно

...