У меня есть служба, работающая как СИСТЕМА, которая должна запускать некоторые приложения в сеансах пользователей. Я могу запускать процессы без повышенных прав, но не могу запускать процессы с повышенными правами.
Я получаю токен пользователя через WTSQueryUserToken (у меня есть SessionId пользователя), устанавливаю SeDebugPrivilege > создайте среду с помощью CreateEnvironmentBlock, а затем вызовите CreateProcessAsUser. Установка SeDebugPrivilege через AdjustTokenPrivileges завершается с ошибкой ERROR_NOT_ALL_ASSIGNED.
Что мне не хватает? Любая помощь приветствуется. Спасибо
bool runPrivilegedProcess(ULONG sessionId)
{
HANDLE userToken;
// get user token with sessionId
if (WTSQueryUserToken(sessionId, &userToken) == FALSE)
{
debugFile
Подробнее здесь: https://stackoverflow.com/questions/786 ... em-process