更新时间:2023-11-22 08:07:52
粗心回答我自己的问题吗? cmd +查询用户{username}"的输出是
用户名-会话名-ID-状态-空闲时间-登录时间
to rudely answer my own question -> cmd + "query user {username}" the output is
Username - Sessionname - ID - State - Idle Time - Logon Time
如果RDP会话在空闲时被锁定,则可以使用以下逻辑进行检查.
如何在系统锁定后将系统音量静音 [ ^ ]
If the RDP session get''s locked on idle then you can check using following logic.
How to mute the system volume after system lock[^]
我实际上找到了另一种效果很好的解决方案-使用
I actually found another solution, that works quite well - using Cassia
ITerminalServicesManager manager = new TerminalServicesManager();
using (ITerminalServer server = manager.GetLocalServer())
{
server.Open();
foreach (ITerminalServicesSession session in server.GetSessions())
{
NTAccount account = session.UserAccount;
if (session.IdleTime > minutes && account != null && account.ToString().Contains("admin") == false)
{
listBox1.Items.Add(session.UserAccount + " " + DateTime.Now.ToString());
session.Disconnect();
Settings.Default.amount++;
Settings.Default.Save();
label1.Text = "Accounts disconnected: " + Settings.Default.amount.ToString();
}
else { }
}
}