簡體   English   中英

決明子:Win32Exception沒有更多可用數據

[英]Cassia: Win32Exception no more data available

我正在使用Cassia來獲取兩台服務器的會話。 -Windows 2003 R2終端服務器-Windows 2008 R2服務器

第二個不是終端服務器,可以正常工作。 但是第一個遇到了一些問題。 錯誤消息是:

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

在嘗試了幾件事之后,我發現了自己的錯誤。 代碼已經過測試並且可以正常工作。 我需要使用模擬,因為我的用戶帳戶在服務器上不起作用。 因此,我在該服務器上模擬為標准用戶,您將獲得相關信息。

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.
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM