Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-57866
copyr25
2002-03-09 23:27
2002.04.18
UPS и модем


6-57838
Vks
2002-02-05 15:36
2002.04.18
Как можно измерить трафик, программы (в моем случае сетевая БД)?


1-57667
vlv
2002-04-04 21:32
2002.04.18
Проблема с MDIForm


14-57884
Mandfm
2002-03-13 00:41
2002.04.18
Очень прошу, помогите!


1-57727
новенький в Делфи
2002-04-07 22:22
2002.04.18
Закрытие формы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский