Entwickler-Ecke
Sonstiges (.NET) - Aktive Benutzer auslesen
3marci - Mi 24.08.11 10:12
Titel: Aktive Benutzer auslesen
Hallo Community,
Ich möchte per C# alle aktiv angemeldeten Benutzer auslesen.
Per CMD habe ich die Funktion qwinsta die mir das zur Verfügung stellt.
Ich habe bereits mehrere Lösungsansätze gesehen wie das in C# funktioniert, dabei wurden die Benutzer per Process.Start("cmd.exe", "qwinsta > user.txt"); in die Textdatei geschrieben und dann eben wieder im Programm eingelesen.
Aber das scheint mir sehr umständlich zu sein... hat jemand eine bessere Idee??
3marci - Mi 24.08.11 14:43
Vielen Dank.
Ich habe das ganze jetzt ein bisschen anders gelöst, hier ist meine Methode aus einer anderen Homepage... ein bisschen modifiziert dass es für meine Verwendung passt:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| private void GetAllUsers() { ManagementScope managementScope = new ManagementScope(); ObjectQuery sessionQuery = new ObjectQuery("SELECT * FROM Win32_LogonSession WHERE LogonType = 10"); ManagementObjectSearcher sessionObjectSearcher = new ManagementObjectSearcher(managementScope, sessionQuery); ManagementObjectCollection sessionObjectCollection = sessionObjectSearcher.Get();
foreach (ManagementObject sessionObjectItem in sessionObjectCollection) { ObjectQuery associatorQuery; ManagementObjectSearcher associatorObjectSearcher; ManagementObjectCollection associatorObjectCollection;
string logonId = sessionObjectItem["LogonId"] as string;
associatorQuery = new ObjectQuery(string.Concat("Associators of {Win32_LogonSession.LogonId=", logonId, "}Where AssocClass=Win32_LoggedOnUser Role=Dependent")); associatorObjectSearcher = new ManagementObjectSearcher(managementScope, associatorQuery); associatorObjectCollection = associatorObjectSearcher.Get();
foreach (ManagementObject i in associatorObjectCollection) { userNames.Add(i["Name"].ToString()); } } } |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!