2016-06-15 10 views
0

Ich benutze Cassia, um die Sitzungen von zwei Servern zu erhalten. - Windows 2003 R2 Terminal Server - Windows 2008 R2 ServerCassia: Win32Exception keine Daten mehr verfügbar

Der zweite, der kein Terminal-Server ist, funktioniert gut. Allerdings hat der erste einige Probleme. Die Fehlermeldung lautet:

System.ComponentModel.Win32Exception: No more data is available 
    at Cassia.Impl.NativeMethodsHelper.GetSessionInfos(ITerminalServerHandle server) 
    at Cassia.Impl.TerminalServer.GetSessions() 
    at Server_Sessions.Program.Main(String[] args) 

Kann jemand mit dieser Fehlermeldung helfen und was zu tun ist?

Der Code, den ich bisher zu Testzwecken gefunden:

ITerminalServicesManager manager = new TerminalServicesManager(); 

    using (ITerminalServer server = manager.GetRemoteServer("server")) 
    { 
     server.Open(); 
     foreach (ITerminalServicesSession session in server.GetSessions()) 
     { 
      Console.WriteLine("Session ID: " + session.SessionId); 
      Console.WriteLine("User: " + session.UserAccount); 
} 
} 

Antwort

0

Nach ein paar Dinge zu versuchen ich meinen Fehler gefunden. Code ist getestet und funktioniert. Ich musste Identitätswechsel verwenden, da mein Benutzerkonto auf dem Server nicht funktioniert. So stelle ich mich als Standardbenutzer auf diesem Server vor und Sie erhalten die relevanten Informationen.

using(Impersonation.LogonUser(domain, user, password, LogonType.NewCredentials)) 
{ 

ITerminalServicesManager manager = new TerminalServicesManager(); 

using (ITerminalServer server = manager.GetRemoteServer(server)) 
    { 
    server.Open(); 

     foreach (ITerminalServicesSession session in server.GetSessions()) 
     { 
     //Do your stuff here. 
     } 
    } 
} 
Verwandte Themen