Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.18;
Скачать: CL | DM;

Вниз

Получение информации о правах текущего пользователя   Найти похожие ветки 

 
AlexanderV   (2002-01-23 10:15) [0]

Люди!!!
Поскажите, пожалуйста, как получить информацию о категории текущего пользователя (administrators, guests, ...) под Win NT
(4, 2000)


 
Rem   (2002-01-23 10:50) [1]

funcion GetTokenInformation(HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength): boolean;

Для получения информации о пользователе и группе в TokenInformationClass надо передать TOKEN_USER, TOKEN_GROUPS, при этом у запрашивающего процесса должна быть привилегия TOKEN_QUERY


 
Tosov   (2002-01-23 23:36) [2]

А можно попробовать так

NetUserGetInfo (Nil, login, 11, @info)
if Info^.usri11_priv=2 then Admin;
if Info^.usri11_priv=1 then User;
if Info^.usri11_priv=0 then Guest;

http://delphi.xonix.ru/faq/users/isadmin01.shtml


 
Егор   (2002-01-24 11:01) [3]

RE: Tosov

Интересно, где же в Дельфях такая функция?
NetUserGetInfo
Я не нашел. В С++ - пожалуйста.


 
Егор   (2002-01-24 11:04) [4]

Точнее сказать в Дельфях ее нужно самому вызывать из DLL.


 
Егор   (2002-01-24 11:18) [5]

А может кто знает как добавить юзера в локальную группу?
Например в админы.


 
Севостьянов Игорь   (2002-01-24 16:29) [6]

Вообще-то лучше почитать иногда MSDN, иногда помогает !!!
А все функции которые возможно тебе понадобяться кроме этих - функции NetAPI

The NetLocalGroupAddMembers function adds membership of one or more existing user accounts or global group accounts to an existing local group. The function does not change the membership status of users or global groups that are currently members of the local group.

NET_API_STATUS NetLocalGroupAddMembers(
LPCWSTR servername,
LPCWSTR groupname,
DWORD level,
LPBYTE buf,
DWORD totalentries
);


Есть вопросы еще ? Пиши на мыло ...


 
Севостьянов Игорь   (2002-01-24 16:32) [7]

В Дельфийском варианте будет, что-то типа

function FNetLocalGroupAddMembers(ServerName, GroupName: string; Level: DWord;
Buffer: Pointer;
TotalEntries: DWord): NET_API_STATUS;
var
S, G : TLMWideChar;
begin
Result := 0;
if IsNetApi32 then begin
if (@_NetLocalGroupAddMembers = nil) then
@_NetLocalGroupAddMembers := GetProcAddress(NETAPI32, "NetLocalGroupAddMembers");

if (@_NetLocalGroupAddMembers <> nil) then begin
{ determine if UNC identifiers needed }
ServerName := ServerUncName(ServerName);

S.Value := nil;
G.Value := nil;
try
{ allocate the unicode server name }
CvtToWideChar(ServerName, S);

{ allocate the unicode group name }
CvtToWideChar(GroupName, G);

{ call the API }
Result := _NetLocalGroupAddMembers(S.Value, G.Value, Level, Buffer,
TotalEntries);
finally
FreeMem(S.Value, S.Length);
FreeMem(G.Value, G.Length);
end;
end else
RaiseStWin32Error(EStNetException, GetLastError);
end else begin
{ EStNetException }
RaiseStWin32ErrorEx(EStNetException, GetLastError, NETAPI32DLL);
end;
end;



 
Tosov   (2002-01-24 19:54) [8]

Егор
Эта функция не в Delphi и не в C++. Она в WindowsNT!!!
Если тебе надо работать с ней под Delphi или нажми на ссылочку в моем посте или зайди на http://www.delphi-jedi.org и скачай переводы сишных фаайлов (не помню как называется).


 
Егор   (2002-01-25 02:50) [9]

Tosov
Я имел ввиду, что эта функция и все что с ней связано (структуры и т.п.) не описана в Дельфи (Windows.pas). Т.е. Борланд посчитал, что это тут не надо, а в С++ Builder Professional описание этих функций и структур есть.
А вобще за ответ спасибо :-))



Страницы: 1 вся ветка

Текущий архив: 2002.04.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.005 c
1-57810
snoup
2002-04-06 21:37
2002.04.18
Как сделать, что бы при нажатии на кнопку на диске С сохранялся b


14-57873
jenbond
2002-03-11 15:08
2002.04.18
Разработка собственного формата БД


3-57660
neodiX
2002-03-25 13:04
2002.04.18
Problema v komponente TDataSetTableProducer


1-57811
Sergn
2002-04-06 19:34
2002.04.18
Фоновый рисунок в компоненте TCustomMemo.


3-57659
kronprince
2002-03-28 22:34
2002.04.18
Скорость работы TClientDataSet при фильтрации ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский