momentan angemeldeten Benutzer ermitteln?
-
Hi ich habe mal die Suche gequält, und einiges zu Benutzern gefunden.
Leider war dabei keine Antwort auf die Frage, wie man den momentan "angemeldeten" Benutzer ermitteln kann.
Hat da jemand eine schlaue Idee?
Gruß
Frenzy
-
Such mal nach GetUserName();
Gruß
:: NoName ::
-
:: NoName :: schrieb:
Such mal nach GetUserName();
Gruß
:: NoName ::Guter Kommentar *schmunzelt*
Zu "GetUserName" findet man hier einiges über die Suchfunktion...
Damit ermittelt man den Usernamen des aufrufenden Threads, wie du einfach nachlesen kannst in der MSDN. Das ist aber nicht der angemeldete Benutzer.
zB will ich nicht, daß die Applikation durch RunAs irritiert werden kann, da die Veränderungen nur den momentan angemeldeten Benutzer betreffen.
-
Eigentlich gibt es bei Windows keine Unterscheidung zwischen realer uid und effektiver uid.
Ich hätte da einige Lösungsansätze, die aber alle eher Workarounds sind:
Vielleicht könntest du versuchen, den Benutzerkontext laufender explorer.exe-Prozesse zu ermitteln und diese irgendwie dem aktuellen Desktopwindow zuzuordnen, da ja der aktuelle Desktop zum explorer-Prozess des mit GUI angemeldeten Benutzers gehört.
Du könntest aber auch in der Registry schauen, welche Benutzerprofile momentan geladen sind unter HKEY_USERS[SID], jedoch wird das Benutzerprofil auch geladen, wenn dieser Benutzer nur zum Ausführen einer Anwendung mittels runas verwendet wird (natürlich)Ich habe auch mal nach Remotedesktop-/Terminalserverfunktionen gesucht, die einem den aktuellen Benutzer mitteilen können, bin aber leider auch nicht fündig geworden.
-
japp da habe ich auch schon geschaut aber bezog sich im endeffekt immer auf den thread.
ich denke ich werde beim login ein script laufen lassen und unter HKLM nen registryeintrag setzen mit dem angemeldeten benutzer
das sollte erstmals abhilfe schaffen