I'm using Cassia to get the sessions of two servers. - Windows 2003 R2 Terminal Server - Windows 2008 R2 Server
The second one, which is not a terminal server works fine. However the first one is getting some issues. The error message is:
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)
Can anyone help with this error message and what to do?
The code I found so far for testing purposes:
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);
}
}
After trying a few things I found my mistake. Code is tested and working. I needed to use Impersonation, because my user account is not working on the server. So I impersonate as the standard user on this server and you'll get the relevant information.