Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Функция LsaEnumerateAccountRights


Автор: MffDen 3.10.2006, 23:21
Хотел с помощью функции LsaEnumerateAccountRights перечислить права и привелегии учетных записей. Но оказалось что успешно выполняется она лишь для двух учеток - гостя и SUPPORT_388945a0.
Для гостя выдает
   SeInteractiveLogonRight
   SeDenyInteractiveLogonRight
а для SUPPORT_388945a0 (группа HelpServicesGroup)
   SeBatchLogonRight
   SeDenyInteractiveLogonRight
   SeDenyNetworkLogonRight
Для всех остальных учеток, которые есть на компе функция возвращает ошибку ERROR_FILE_NOT_FOUND (STATUS_OBJECT_NAME_NOT_FOUND). Что делать?

Автор: Alek86 24.10.2008, 14:09
наверное, "реанимирую" старую тему, ибо у меня абсолютно та же ситуация


с помощью NetUserEnum и LookupAccountName получаю SID'ы всех локальных пользователей
передаю их по очереди в LsaEnumerateAccountRights
она почти всегда возвращает вместо указателя на список привилегий NULL

возвращает список только в случае пользователей Guest и SUPPORT_xxx
такое же поведение и когда вызываю откомпиленный код http://win32.mvps.org/lsa/lsa_lear.cpp соответственно с параметрами <имя компа> <имя пользователя>. когда передаю свое имя - не работает. когда Guest - выводит привилегии

мож кто знает в чем причина?

ЗЫ
свой код пока не приведу, ибо он достаточно замусорен
если потребуется, приведу в порядок и выложу

Автор: helstik 11.2.2018, 16:50
наверное, "реанимирую" старую тему, но и у меня та же ситуация

Автор: GremlinProg 12.2.2018, 06:54
Лучше выкладывайте с рабочим кодом, чтобы можно было быстро воспроизвести проблему

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)