Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi OS erkennen + Guest / Admin account (https://www.delphipraxis.net/99509-os-erkennen-guest-admin-account.html)

gernotmann 13. Sep 2007 00:52


OS erkennen + Guest / Admin account
 
Hallo,

ich bin relativer Delphi Neuling und suche nach einer Möglichkeit das Betriebsystem zu erkennen.

Z.B. um zu erkennen ob jmd. Windows XP oder Windows Vista benutzt.

Desweiteren möchte ich rausfinden ob jemand mit einem administrator Konto eingeloggt ist, oder mit einem Gäste Konto.

Wäre schön wenn mir da jemand weiterhelfen könnte.

Olli 13. Sep 2007 00:59

Re: OS erkennen + Guest / Admin account
 
Willkommen. Zu deiner einen Teilfrage könntest du bspw. die Suche bemühen, klick: Hier im Forum suchenIsAdmin

Mackhack 13. Sep 2007 03:18

Re: OS erkennen + Guest / Admin account
 
Und hier wird dir geholfen fuer den ersten Teil der Frage:

MagicAndre1981 hat hier eine wunderschoene Kompo fuer uns erstellt!

Dezipaitor 13. Sep 2007 11:13

Re: OS erkennen + Guest / Admin account
 
Ich darf hier darauf hinweisen, dass viele IsAdminquelltexte unter Vista nicht richtig funktionieren.
Wenn man Pech hat, dann funktionieren diese schon ab Windows 2000 nicht mehr.


Why does KB 118626 use AccessCheck to check if you're a member of the administrators group?

und das Beispiel:
How To Determine Whether a Thread Is Running in User Context of Local Administrator Account

Olli 13. Sep 2007 11:21

Re: OS erkennen + Guest / Admin account
 
Ich entsinne mich, daß Nico bereits vor längerem, dies in einer der Diskussionen um IsAdmin abgehandelt hat. Da habe ich mich einfach mal auf die Forensuche und den Suchenden verlassen :zwinker:

Dezipaitor 13. Sep 2007 11:48

Re: OS erkennen + Guest / Admin account
 
Man kann es nie oft genug nennen;

Zudem ist mir aufgefallen, dass die Gruppe Administratoren im Token des Systemprincipals deaktiviert ist.
D.h. wenn irgendwo nur für Administratoren ein Eingang ist, dann ist erstmal SYSTEM ausgeschlossen. Man muss mit AdjustTokenGroups
erstmal die Gruppen aktivieren, damit AccessCheck diese auch einbezieht.
Letztendlich gibt es das ganze Sicherheitszeugs nur weil es AccessCheck gibt. Am Anfang war "AccessCheck" und sonst war Windows leer und dunkel....

OregonGhost 13. Sep 2007 11:57

Re: OS erkennen + Guest / Admin account
 
Zufälligerweise hat Nico in einem meiner Threads seine IsUserAnAdmin-Funktion gepostet. Die funktioniert soweit prima.

Dezipaitor 13. Sep 2007 12:23

Re: OS erkennen + Guest / Admin account
 
Ja das ist gut. Leider kommt zuerst der Quelltext mit dem klassischen Fehler und danach die korrekten.
Manche Leute sind so glücklich etwas gefunden zu haben, dass sie es einfach nehmen und den Thread garnicht mehr weiterlesen.

Das sieht dann so aus:
Delphi-Quellcode:
function JwCheckAdministratorAccess returns Boolean;
variables SD is a SecurityDescriptor;
begin
  init SD as SecurityDescriptor
 
  set PrimaryGroup on SD to JwNullSID;
  set Owner on SD to JwAdministratorsSID;
  set DACL on SD to add DiscretionaryAccessControlEntryAllow(STANDARD_RIGHTS_ALL,AdministratorsSID);

  return call AccessCheck with (SD, STANDARD_RIGHTS_ALL, GenericMapping);
:exit
  free SD;
end;

sk0r 13. Sep 2007 13:13

Re: OS erkennen + Guest / Admin account
 
Zitat:

Zitat von gernotmann
Hallo,
ich bin relativer Delphi Neuling und suche nach einer Möglichkeit das Betriebsystem zu erkennen.
Z.B. um zu erkennen ob jmd. Windows XP oder Windows Vista benutzt.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  ver: TOSVersionInfoA;
begin
  ver.dwOSVersionInfoSize := sizeof(TOSVERSIONINFOA);
  if GetVersionEx(ver) then
    showmessage(inttostr(ver.dwMajorVersion)+'.'+inttostr(ver.dwMinorVersion)+'.'+inttostr(ver.dwBuildNumber));
end;

Garfield 15. Sep 2007 13:00

Re: OS erkennen + Guest / Admin account
 
Zitat:

Zitat von Dezipaitor
Ich darf hier darauf hinweisen, dass viele IsAdminquelltexte unter Vista nicht richtig funktionieren.

Unter WinXP Prof wird der Hauptbenutzer meist auch als Admin erkannt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz