Как проверить, имеет ли пользователь некоторую привилегию?
От: Александр Федотов США  
Дата: 25.03.02 17:49
Оценка: 54 (3)
Статья:
Как проверить, имеет ли пользователь некоторую привилегию?
Автор(ы): Александр Федотов
Дата: 07.03.2002
В статье рассказывается, как определить, имеет ли текущий
пользователь некоторую привилегию. Приводится исходный код функций
для проверки как наличия, так и текущего состояния (включенное или
выключенное) привилегии.


Авторы:
Александр Федотов

Аннотация:
В статье рассказывается, как определить, имеет ли текущий
пользователь некоторую привилегию. Приводится исходный код функций для проверки как наличия, так и текущего состояния (включенное или выключенное) привилегии.
-- Alex Fedotov
How to find all users with admin privileges ?
От: michaell  
Дата: 26.03.02 17:49
Оценка:
How to find all users with admin privileges
on given PC under Windows 2000?
Using
NetLocalGroupGetMembers(NULL,"Administators",..)
returns
"Administrator","Domain Admins","Domain Users",...
so next step should be — find members of
"Domain Admins","Domain Users" groups.
How to do it ?

Thanks, Michael.
How to find this info not for a current user ?
От: michaell  
Дата: 27.03.02 14:37
Оценка:
How to find this info (avaliable privileges ) not for a current user, but for a user with a given name ?
Thanks,
Michael
Re: How to find this info not for a current user
От: Alex Fedotov США  
Дата: 27.03.02 14:44
Оценка:
LsaEnumerateAccountRights.

В соседней статье про grant/revoke есть немного про Lsa-функции.
-- Alex Fedotov
Re: How to find all users with admin privileges ?
От: Alex Fedotov США  
Дата: 27.03.02 14:49
Оценка:
NetGroupGetUsers (возможно, рекурсивно)

P.S. Вопросы по программированию лучше задавать в форуме, а комментарии к статьям предназначены в основном для исправлений и замечаний непосредственно к статьям.
-- Alex Fedotov
неоптимально
От: Алекс  
Дата: 23.06.02 10:35
Оценка:
Последние строчки можно переписать так:

PrivilegeCheck(hToken, &PrivSet, &bEnabled);
DWORD dwError = GetLastError();
CloseHandle(hToken);
SetLastError(dwError);
return bEnabled;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.