如何检索.NET中已登录/已连接用户的列表?

这是场景:


您有一台Windows服务器,用户可以通过RDP远程连接到该服务器。您希望您的程序(作为服务运行)知道当前连接的人。这可能包括也可能不包括交互式控制台会话。


请注意,这是不一样的只是检索当前的交互式用户。


我猜想可以通过某种API访问终端服务来获取此信息?


精慕HU
浏览 543回答 3
3回答

米琪卡哇伊

如果您不想自己处理P / Invokes,另一种选择是使用Cassia库:using System;using System.Security.Principal;using Cassia;namespace CassiaSample{    public static class Program    {        public static void Main(string[] args)        {            ITerminalServicesManager manager = new TerminalServicesManager();            using (ITerminalServer server = manager.GetRemoteServer("your-server-name"))            {                server.Open();                foreach (ITerminalServicesSession session in server.GetSessions())                {                    NTAccount account = session.UserAccount;                    if (account != null)                    {                        Console.WriteLine(account);                    }                }            }        }    }}
打开App,查看更多内容
随时随地看视频慕课网APP