C# Get RDC/RDP und "Console" Session-Informationen

Ich versuche, um etwas RDC/RDP und "Konsole" login-Daten programmgesteuert über C#.

Möchte ich die Entwicklung eines einfachen console-Anwendung (.EXE), wie kann ich das abrufen der Informationen von Task-Manager -> Registerkarte Benutzer von jedem remote-computer, auf unsere Domäne (Windows Server 2003 x86, oder 2008R2 x64).

Dieser zeigt an, ob eine person angemeldet ist auf dem server direkt (also die Konsole) oder über RDC/RDP (einschließlich der client, wenn er noch aktiv ist) oder getrennt werden, wenn es "ausgesetzt" (d.h. Sie haben sich nicht abgemeldet, sondern nur geschlossen die RDC/RDP windows vorübergehend)

Ich muss admin-Berechtigungen auf allen Servern und konfigurieren können alle windows-Dienste/firewalls Regeln, die müssen aktiviert/deaktiviert werden (wenn erforderlich)

Ich glaube, ich habe wahrscheinlich mit WMI (mit System.Management), aber die Beispiele, die ich gefunden habe von google nur abrufen der vorhandenen Benutzer.

//Method 1
var searcher = new ManagementObjectSearcher(
               "SELECT UserName FROM Win32_ComputerSystem");
var collection = Searcher.Get();
foreach(ManagementObject entry in collection)
{
  Console.WriteLine(entry["UserName"]);
}

//Method 2
string computer = "somecomputername";   
var searcher = new ManagementObjectSearcher(
               computer + @"root\CIMV2", "SELECT * FROM Win32_TerminalService");
var collection = Searcher.Get();
foreach(ManagementObject entry in collection)
{
  //Write them out (although usernames isnt listed from the example I found)
}

InformationsquelleAutor Kyle | 2012-12-21

Schreibe einen Kommentar