После того как я успешно создаю нового пользователя, добавьте пользователя во встроенную группу admins, я бы хотел отредактировать вновь созданный пользовательский реестр (эта программа является программой с повышенными правами) , Я позвонил NetUserAdd()
, NetLocalGroupAddMembers()
, LogonUser()
, а затем, наконец, LoadUserProfile()
, поэтому каталог пользователя существует.RegOpenCurrentUser (KEY_WRITE) для вновь созданного пользователя
извинить неряшливый код, но это то, что я делаю после того, что:
DuplicateTokenEx(hToken,TOKEN_ALL_ACCESS,&sa,SecurityImpersonation,TokenPrimary,&hNewToken);
ImpersonateLoggedOnUser(hNewToken);
HKEY hKey;
LSTATUS stat = RegOpenCurrentUser(KEY_READ|KEY_WRITE, &hKey);
// stat is 5 (ACCESS_DENIED) when KEY_WRITE is added, it
// returns 0 (ERROR_SUCCESS) when it's just KEY_READ
RegCloseKey(hKey);
RevertToSelf();
CloseHandle(hNewToken);
ошибка находится на RegOpenCurrentUser()
линии. Это ошибка, когда я прошу записать в реестр HKU этого пользователя. Он отлично работает, если я использую только KEY_READ
Возможно ли это, что я пытаюсь сделать? Является ли еще еще созданный куст реестра пользователя? Или пользователь должен физически войти, чтобы создать его?
В конечном итоге то, что я хотел бы сделать, это создать объект групповой политики для нового пользователя.
Большое вам спасибо! Вы сделали все намного проще и прямо. – Andy