AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IsAdmin und UAC

Ein Thema von Delphi-Laie · begonnen am 21. Dez 2014 · letzter Beitrag vom 5. Jan 2015
 
Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#2

AW: IsAdmin und UAC

  Alt 21. Dez 2014, 13:59
"Returns TRUE if the user is a member of the Administrator's group; otherwise, FALSE."

Die Funktion macht alles richtig, sie gibt dir zurück ob der User der Admingruppe angehört, oder nicht.
Hab mal schnell was in notepad zusammengestellt.. Sag mal bescheid ob es so funktioniert.^^

EDIT:// So kam jetzt zum Testen.. Also hier die funktionierende Funktion.

Delphi-Quellcode:
function CheckAdmin : boolean;
var
   hTok : THandle;
   ELV : TOKEN_ELEVATION;
   sz : DWORD;
begin
   Result := false;
   // Kannst anstatt den Rückgabewert von GetCurrentProcess() natürlich ein anderes Processhandle angeben.
   if OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, hTok) then
   begin
      sz := sizeof(TOKEN_ELEVATION);
      if GetTokenInformation(hTok, TokenElevation, @ELV, sizeof(ELV), sz) then
      begin
         Result := Boolean(ELV.TokenIsElevated); // Admin == true^^
      end;
      if hTok <> 0 then
         // token wieder schließen falls OpenProcessToken
         // erfolgreich war
         CloseHandle(hTok);
   end;
end;
// if CheckAdmin then showmessage('Admin!');


EDIT:// Neuwutel.

Du solltest dir vorher auf msdn die Funktionen genau durchlesen, bevor du von irgendwelchem "die Funktion stößt an ihre Grenzen" redest, obwohl die Funktion nicht für dein Vorhaben geeignet ist.

Sie ist dafür da, um herauszufinden ob der angemeldete Benutzer in der Admingruppe ist. Z.B. gibt es ja den "UAC bypass".

IQ FSK > 130:
http://download.pureftpd.org/pub/misc/UAC.cpp

Da wird z.B. gezeigt wie man die autoelevation die im Explorer stattfindet wenn man auf "more details"(windoof 8) oder "alle brohzesse anzeigen" (windows 7) klickt. (musste ich hier mal erwähnen, ist echt interessant).

Der bypass ist nur möglich, wenn der User sich in der Gruppe "Administrator" befindet => da wäre deine Funktion dann perfekt geeignet für um vorher zu prüfen ob wir den bypass nutzen können.

Zu deiner anderen Frage:

Im Normalfall hat nur das Gastkonto Gastrechte, die Rechte sind aber ziemlich gering für den Gast... #NNostalgie

Hab ich eigtl. erwähnt dass ich Iraner bin? Nein? Warum auch?

Geändert von Lyan (21. Dez 2014 um 15:57 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz