Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#10

AW: Re: Den angemeldeten User in Windows ermitteln

  Alt 25. Mai 2020, 21:13
Zitat von Dezipaitor:
Und was verstehst du unter eingeloggt? Ist jemand eingeloggt, wenn der direkt vor dem Bildschirm sitzt,
oder geht es auch, wenn jemand über ein Terminal (RDP) eingeloggt ist?
Wie das mit RDP funktioniert weiß ich nicht. Für mein Programm war aber der User gemeint, der direkt gerade in diesem Augenblick vorm Rechner sitzt.
Noch einen Löffel Senf von mir. Dezipaitor hat natürlich recht (und vor allem Ahnung von der Materie). Also geht es dir vermutlich um den interaktiven Benutzer in der Konsolensitzung. Wobei man sich mit Tricks auch aus der Ferne darauf verbinden kann (oder zumindest damals konnte).

Zwei Möglichkeiten:
  1. Registryschlüssel unterhalb HKEY_USERS auslesen, die bekannten SIDs ausfiltern und über die SID den Benutzernamen ermitteln (geht auch in Domänen und auch auf entfernten Rechnern, solange Registry-Fernzugriff aktiv, PsLoggedOn macht das so)
  2. Alternativ WTSEnumerateSessionsW und Freunde einsetzen.

Auch 2007 waren die NT-basierten Windowsversionen bereits multiuserfähig. Aber selbst dann war MSDN-Library durchsuchenGetUserName die bessere Wahl, da man sich bei Nutzung der Umgebungsvariablen darauf verlaßt, daß das entsprechende Benutzerprofil geladen wurde und diese Variablen enthält.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat