1

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

谢谢

4

1 回答 1

3

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

WTSEnumerateSessions

WTS查询会话信息

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);
    }
}
于 2009-12-17T16:17:42.283 回答