Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi XP: Angemeldeten User feststellen (https://www.delphipraxis.net/155475-xp-angemeldeten-user-feststellen.html)

sundance 25. Okt 2010 13:07

XP: Angemeldeten User feststellen
 
Hallo DP'ler,

ich bastle gerade ein kleines Kommandozeilentool, das unter Windows XP (später auch Windows 7) im SYSTEM-Kontext läuft.
Wie kann man hier den aktuell angemeldeten User (lokal oder an der ADs) feststellen? (da die Umgebungsvariable USERNAME nur im Benutzerkontext existiert, klappt der Weg leider nicht...)

.sundance.

scrat1979 25. Okt 2010 13:13

AW: XP: Angemeldeten User feststellen
 
Guckst Du hier :-)

sundance 25. Okt 2010 14:25

AW: XP: Angemeldeten User feststellen
 
Danke für den Hinweis.

Leider ohne Erfolg.
Die MSDN schreibt zu der Funktion:
Zitat:

Retrieves the name of the user or other security principal associated with the calling thread. You can specify the format of the returned name.
Und da liegt vielleicht auch das Problem: Der aufrufende Thread ist ja bei mir SYSTEM, und da erhalte ich aktuellen User nicht, sondern nur einen String wie {Domain}\{Rechnername$} (bei 2 als NameFormat).

Wahrscheinlich ist das auch der falsche Weg, denn es können ja auch mehrere User angemeldet sein, also müsste es eine Art Liste der angemeldeten User geben!?!

.sundance.

DeddyH 25. Okt 2010 14:28

AW: XP: Angemeldeten User feststellen
 
Wer ist denn "der" angemeldete User? AFAIK können ja mehrere Benutzer an der selben Maschine angemeldet sein.

sundance 25. Okt 2010 14:41

AW: XP: Angemeldeten User feststellen
 
Zitat:

Zitat von DeddyH (Beitrag 1057726)
Wer ist denn "der" angemeldete User?

Auf den Gedanken bin ich auch gerade noch gekommen...
Aber, wie gesagt, vielleicht gibt es ja die Möglichkeit, die angemeldeten User zu "enumerieren"...

himitsu 25. Okt 2010 14:51

AW: XP: Angemeldeten User feststellen
 
Wie wäre es mit MSDN-Library durchsuchenGetUserName?

Das gibt den Benutzernamen des Users aus, unter wessen Rechten der Thread (also quasi das eigene Programm) gestartet wurde.


Klar muß das nicht der "angemeldete", bzw. aktive/sichtbare Benutzer sein.

Aber was willst du denn genau wissen, bzw. was hast du mit dieser Information vor?

[edit]
ach nee, im System-kontext wäre es dann ja der Name des Systemkontos :oops:

DeddyH 25. Okt 2010 18:48

AW: XP: Angemeldeten User feststellen
 
Ich habe mal die Suchmaschine angeworfen und bin auf eine Lösung mittels WMI gestoßen, habe sie allerdings nicht ausprobiert: http://www.ciuly.com/delphi/wmi/enumerate-local-users/


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr.

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