Мне нужно создать программу, которая имеет доступ к HKLM при запуске в сеансе без прав администратора. У меня есть доступ к учетным данным администратора, поэтому представляется возможным подражать им. Последовательность вызовов Win32:
- LogonUser
- ImpersonateLoggedOnUser
- RegOpenKeyEx
- RegCreateKeyEx
Ключ успешно создан в XP / 2003 и завершается с ошибкой «Отказано в доступе» в Vista / Win7. Я работаю как один и тот же пользователь домена по умолчанию и выдаю себя за одного и того же администратора домена в каждом из сценариев. «Отказано в доступе» генерируется RegCreateKeyEx и, очевидно, ключ не создается.
Кто-нибудь знает, почему это происходит?