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

Вниз

Определение учетной записи   Найти похожие ветки 

 
к2в2   (2007-06-04 21:46) [0]

Доброго времени, подскажите как определить под какой учетной записью работает пользователь, под админом или юзером.


 
Правильный Вася   (2007-06-04 21:55) [1]

тебе имя или права?


 
к2в2   (2007-06-04 21:58) [2]

Прав будет достаточно )


 
Правильный Вася   (2007-06-04 22:00) [3]

NetUserGetInfo


 
Eraser ©   (2007-06-04 22:05) [4]

> [0] к2в2   (04.06.07 21:46)

для 2K и выше IsUserAnAdmin, для NT
function IsAdmin: Boolean;
const
 SE_GROUP_ENABLED = $00000004;

 SECURITY_NT_AUTHORITY: Windows.TSIDIdentifierAuthority =
   (Value: (0, 0, 0, 0, 0, 5));
 SECURITY_BUILTIN_DOMAIN_RID = $00000020;
 DOMAIN_ALIAS_RID_ADMINS = $00000220;
var
 hAccessToken: THandle;
 ptgGroups: PTokenGroups;
 dwInfoBufferSize: DWORD;
 psidAdministrators: Windows.PSID;
 x: Integer;
 bSuccess: BOOL;
begin
 Result   := False;
 if Win32Platform <> VER_PLATFORM_WIN32_NT then
 begin
   Result := true;
   Exit;
 end;
 bSuccess := OpenThreadToken(GetCurrentThread, TOKEN_QUERY, True,
   hAccessToken);
 if not bSuccess then
 begin
   if GetLastError = ERROR_NO_TOKEN then
     bSuccess := OpenProcessToken(GetCurrentProcess, TOKEN_QUERY,
       hAccessToken);
 end;
 if bSuccess then
 begin
   GetMem(ptgGroups, 1024);
   bSuccess := Windows.GetTokenInformation(hAccessToken, Windows.TokenGroups,
     ptgGroups, 1024, dwInfoBufferSize);
   CloseHandle(hAccessToken);
   if bSuccess then
   begin
     Windows.AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
       SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
       0, 0, 0, 0, 0, 0, psidAdministrators);
     {$R-}
     for x := 0 to ptgGroups.GroupCount - 1 do
       if EqualSid(psidAdministrators, ptgGroups.Groups[x].Sid) and
         ((ptgGroups.Groups[x].Attributes or SE_GROUP_ENABLED) = ptgGroups.Groups[x].Attributes) then
       begin
         Result := True;
         Break;
       end;
     {$R+}
     FreeSid(psidAdministrators);
   end;
   FreeMem(ptgGroups);
 end;
end;


 
Lee_lm   (2007-06-17 22:39) [5]

And some more..
<a href=  ></a>  *



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
15-1181950866
ShadowGM
2007-06-16 03:41
2007.07.15
Буффер обмена


3-1176451351
Jeeb
2007-04-13 12:02
2007.07.15
Поис (без учитывания знаков и символов)


2-1182243957
DelphiN!
2007-06-19 13:05
2007.07.15
WaitForSingleObject не ожидает закрытия мютекста


3-1176746454
так себе
2007-04-16 22:00
2007.07.15
Узнать название полей


1-1179221654
i2e
2007-05-15 13:34
2007.07.15
MainMenu, в котором строки выделяются рамкой