Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Права админа [D7, WinXP]


Страницы:   1 2

Керик ©   (2004-07-24 17:57:00) 

Как определить наличие прав администратора в текущей учётной записи?


Бином Ньютоныч   (2004-07-24 21:07:00) [21]

Не, я IsAdminUser прям счас писал, под действием паров пива, так что творчески на нее взгляните:)
>Anatoly Podgoretsky ©   (24.07.04 20:54) [10]

Не понял. По-моему - наоборот. Я вообще-то не админ... А как еще, без включения в группу Administrators дать юзеру права админа? Нет, меня правда это очень интересует!


Anatoly Podgoretsky   (2004-07-24 20:54:00) [22]

Вот видишь, сам и подтверждаешь, что это не догма.


Бином Ньютоныч   (2004-07-24 20:53:00) [23]

>Anatoly Podgoretsky ©   (24.07.04 20:47) [7]

:(
MSDN:
Administrators: "A built-in group. After the initial installation of the operating system, the only member of the group is the Administrator account. When a computer joins a domain, the Domain Admins group is added to the Administrators group. When a server becomes a domain controller, the Enterprise Admins group also is added to the Administrators group.
The Administrators group has built-in capabilties that give its members full control over the system. The group is the default owner of any object that is created by a member of the group.
"


Бином Ньютоныч   (2004-07-24 20:49:00) [24]

>Anatoly Podgoretsky ©   (24.07.04 20:45) [6]

Чрезвычайно интересно! Подробней можно? Я с таким не встречался. Откуда инфа? Если из опыта, то как восроизвести?


Anatoly Podgoretsky   (2004-07-24 20:47:00) [25]

И даже если быть точнее, то чаще не входят, это глобальная группа и не желания включать в нее кого ни попала. Для этого существуют более подходящии группы, Domain Admins, Local Admins
Но и это не обязательно.


Anatoly Podgoretsky   (2004-07-24 20:45:00) [26]

Бином Ньютоныч   (24.07.04 19:02) [1]
Не совсем так, могут и не входить.


Бином Ньютоныч   (2004-07-24 20:44:00) [27]

function AllocateTokenInformation(Token: THandle;
 TokenClass: TTokenInformationClass): Pointer; stdcall;
var
 Size, Res: Cardinal;
begin
 Result:=nil; Size:=0;
 repeat
   Result:=CoTaskMemRealloc(Result, Size);
   if GetTokenInformation(Token, TokenClass, Result, Size, Size) then
     Res:=ERROR_SUCCESS else Res:=GetLastError;
 until Res <> ERROR_INSUFFICIENT_BUFFER;
 if (Res <> ERROR_SUCCESS) and (Result <> nil) then
 begin
   CoTaskMemFree(Result);
   Result:=nil;
 end;
 SetLastError(Res);
end;

function IsAdminUser: boolean;
const
 sAdmGroup = 'S-1-5-32-544'#0;
var
 n: integer;
 CurToken: THandle;
 Groups: PTokenGroups;
 AdmGroupSid: PSID;
begin
{$R-}
 Result:=OpenProcessToken(GetCurrentProcess, TOKEN_ALL_ACCESS, CurToken);
 if not Result then RaiseLastOsError;
 Groups:=AllocateTokenInformation(CurToken, TokenGroups);
 if Groups = nil then RaiseLastOsError;
 try
   Result:=ConvertStringSidToSidA(@sAdmGroup[1], AdmGroupSid);
   if Result then
   try
     Result:=not Result;
     for n:=0 to Pred(Groups.GroupCount) do
     begin
       Result:=EqualSid(AdmGroupSid, Groups.Groups[n].Sid);
       if Result then Break;
     end;
   finally
     LocalFree(Cardinal(AdmGroupSid));
   end;
 finally
   CoTaskMemFree(Groups);
 end;
{$R+}
end;


VMcL   (2004-07-24 20:10:00) [28]

>> N170  (24.07.04 19:16) [2]

Где взял?

http://search.microsoft.com/search/results.aspx?qu=IsAdminUser&View=msdn&st=b&c=4&s=1&swc=4


Керик   (2004-07-24 19:22:00) [29]

Для N170: Я не нашёл IsAdminUser(). В каком модуле?


N170   (2004-07-24 19:16:00) [30]

IsAdminUser() в Windows XP и выше..


Бином Ньютоныч   (2004-07-24 19:02:00) [31]

Только между нами: все администраторы входят во встроенную группу Administrators. Но это страшная тайна!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо