Frage

Gibt es .NET entsprechenden Befehle an Terminal-Services-Befehle 'qwinsta', 'RWINSTA' und 'Tsdiscon'?

Danke

War es hilfreich?

Lösung

Zur Zeit gibt es keine .NET / verwaltete API-Äquivalent. Sie können sich wahrscheinlich um die Funktionen in verwenden wtsapi32.dll though. Schauen Sie sich pinvoke.net für einige Beispiele dafür, wie diese zum Aufrufen von verwaltetem Code ... mit dem folgenden Ausgang:

WTSEnumerateSessions

WTSQuerySessionInformation

WTSLogoffSession

Oder, wenn Sie nicht möchten, dass Ihr eigenen Win32-Wrapper rollen Besuche des „ Cassia “Projekt. Ich habe es nicht verwendet und daher nicht für die Qualität dieser Lösung bürgen kann, aber es scheint eine .NET-Bibliothek für den Zugriff auf den native Windows-Terminal-Services-API werden.

Im Folgenden ist ein Beispiel, wie Sie die Cassia-Bibliothek in C # (von der Projektseite genommen) verwenden würde:

ITerminalServicesManager manager = new TerminalServicesManager();
using (ITerminalServer server = manager.GetRemoteServer("your-server-name"))
{
    server.Open();
    foreach (ITerminalServicesSession session in server.GetSessions())
    {
        Console.WriteLine("Session ID: " + session.SessionId);
        Console.WriteLine("User: " + session.UserAccount);
        Console.WriteLine("State: " + session.ConnectionState);
        Console.WriteLine("Logon Time: " + session.LoginTime);
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top