Я запускаю WindowsService в Windows Server 2012 и должен выдавать себя за пользователя домена администратора (который также добавлен в группу локальных администраторов на машине).Как вызвать LogonUser(), чтобы получить неограниченный полный токен в службе Windows с включенным UAC?
UAC включен в системе, а вызов LogonUser с использованием учетных данных с LogonType из LOGON32_LOGON_INTERACTIVE, кажется, возвращает ограниченный токен вместо полного токена.
Это вызывает административную задачу, которую я пытаюсь сделать, чтобы потерпеть неудачу.
Каков правильный способ вызова LogonUser в этой ситуации, чтобы получить полный токен вместо ограниченного токена?
PS: Я столкнулся с связанным с этим вопросом How can I get elevated permissions (UAC) via impersonation under a non-interactive login? , но он не показывает точные вызовы, которые необходимо выполнить, чтобы получить полный токен.
Будет ли это основным маркером или импровизацией? – Dev28
Только «LOGON32_LOGON_NETWORK» создает маркер олицетворения. Все остальные параметры, включая 'LOGON32_LOGON_BATCH', производят первичный токен. (Конечно, вы всегда можете преобразовать токен олицетворения в первичный токен или наоборот.) –
См. Также http://stackoverflow.com/a/35027525/886887 –