2016-06-15 25 views
0

私はCassiaを使用して2台のサーバーのセッションを取得しています。 - Windows 2003 R2ターミナルサーバー - Windows 2008 R2サーバーCassia:Win32Exception利用可能なデータがありません

ターミナルサーバーではない2つ目は正常です。しかし、最初のものはいくつかの問題を抱えています。 エラーメッセージは次のとおりです。

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) 

は、誰もがこのエラーメッセージを支援することができますし、何をしますか?

私はテスト目的のためにこれまでに見つかったコード:

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); 
} 
} 

答えて

0

私は私のミスを見つけたいくつかのことをしようとした後。コードはテストされ、動作しています。ユーザーアカウントがサーバー上で動作していないため、偽装を使用する必要がありました。したがって、私はこのサーバー上の標準ユーザーとして偽装し、関連する情報を取得します。

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. 
     } 
    } 
} 
関連する問題