.NET命名空间中提供的终端服务命令?

时间:2009-12-17 15:43:57

标签: .net-3.5 terminal-services

是否有与终端服务命令'QWINSTA','RWINSTA'和'TSDISCON'的.NET等效命令?

由于

1 个答案:

答案 0 :(得分:3)

目前没有.NET /托管API等价物。您可以使用 wtsapi32.dll 中的功能。查看pinvoke.net以获取如何从托管代码调用这些内容的一些示例...从以下内容开始:

WTSEnumerateSessions

WTSQuerySessionInformation

WTSLogoffSession

或者,如果您不想推送自己的Win32包装器,请查看“cassia”项目。我没有使用它,因此无法保证此解决方案的质量,但它似乎是用于访问本机Windows终端服务API的.NET库。

以下是如何在C#中使用cassia库的示例(取自项目网站):

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