我需要检测通过 C# 中的远程桌面或控制台连接到服务器的用户的登录时间。我试图在 WMI 类中搜索属性,但没有找到任何属性。 再次提前致谢!
最佳答案
查看 cassia , .NET 终端服务库。
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);
}
}
您还可以使用 P/Invoke 访问 Windows Terminal Services API直接,但 cassia 会为您包装它。
关于c# - 如何检测用户何时使用 .NET (C#) 登录系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1334523/