У меня есть приложение, выполняющее административные привилегии. Привилегии автоматически эскалации с использованием манифеста приложения.Выполнение задачи с привилегированным пользователем из приложения с повышенными правами
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
Из этого приложения я должен выполнить некоторый код в качестве пользователя, который запустил приложение, но без отметки. Как я могу это достичь?
Вам нужно будет реализовать метод [для олицетворения текущего пользователя] (http://stackoverflow.com/a/7250145/1250033). – rae1
Олицетворение будет работать, но оно может быть более чистым для обратной архитектуры, чтобы приложение запускалось без повышения, создавая при этом повышенную копию себя для выполнения администраторских таков. (Если ничего другого, это означает, что родительский процесс может передать свой PID дочернему процессу в командной строке, избавив вас от попыток выяснить, какой процесс выдаст себя.) –