Announcement

Collapse
No announcement yet.

Zu einem Prozess Nutzer oder Session herausfinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zu einem Prozess Nutzer oder Session herausfinden

    Hallo,

    Mit System.Diagnostics.Process.GetProcessByName kann man sich die auf dem Rechner laufenden Prozesse geben lassen.

    Im exotischen Windows-Terminal-Server-System (aber auch auf "normalem" XP) ist es möglich, dass 2 oder mehr Benutzer gleichzeitig angemeldet sind und vor allem gleichzeitig Programme laufen haben. Da wir eine Kundenanfrage bzgl. des Terminal-Server-Windows bekommen haben , würde ich gern nur die Prozesse herausfinden, die vom aktuellen Nutzer oder in der aktuellen Session gestartet wurden.

    Im Taskmanager kann man sich das anzeigen lassen, wenn man den Haken "Prozesse aller Benutzer anzeigen" setzt:

    ->unter "Benutzername" steht der Name des startenden Benutzers (in myProcess.StartInfo.EnvironmentVariables["username"] steht leider beim Test unter XP Professionell mein aktueller Benutzername und nicht der von dem, der den Prozess wirklich gestartet hat

    ->habe zwar keine Hilfe dazu gefunden, aber auch die Spalte "Sitzungskennung" scheint zu helfen: die von mir (oder dem System für mich) gestarteten Prozesse haben alle die Kennung 0, die bei dem anderen Nutzer die Kennung 1. Nur habe ich hier überhaupt keine Methoden gefunden, das per Programm auszulesen

    Danke steffen

  • #2
    Hallo Steffen, <br>
    im TS und XP kann man die Prozesse vom aktuellen Nutzer in der aktuellen Session folgendermassen auslesen: <br>
    1. <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/termserv/termserv/wtsopenserver.asp">WTSOpenServer(hServer)</a> <br>
    2. <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/termserv/termserv/wtsenumerateprocesses.asp">WTSEnumerateProcesses(h Server,0,1,ppProcessInfo,count)</a> <br>
    3. <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/termserv/termserv/wts_process_info_str.asp">ppProcessInfo</a> enthält alle benötige Informationen. <br>
    4. Anhand ppProcessInfo->pUserSid durch <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/security/lookupaccountsid.asp">LookupAccountSid</a> Benutzername ermitteln <br&gt

    Comment

    Working...
    X