有没有一种快速简便的方法可以查看 RDP 服务器上用户的会话空闲时间?
谢谢
答案1
终端服务管理器可以为您提供此信息。
在管理工具->终端服务->终端服务管理器下
然后在左侧窗格中选择主机,在中间窗格中选择“会话”选项卡。将列出所有活动会话,并有一个“空闲时间”列。
输出结果被解释为“天数+小时数:分钟数”。例如,如果输出结果为“4+11:23”,则表示用户已闲置 4 天 11 小时 23 分钟。
还值得注意的是,您可以通过右键单击并断开连接来注销这些会话。不过,先给他们打个电话可能会更好 :P
编辑:嗯,对于 2012 年之前的服务器版本来说,这是一个很好的答案 :( 但由于他们从较新版本的服务器中删除了终端服务管理器,因此似乎这个 powershell 脚本可能是最好的选择:https://gallery.technet.microsoft.com/scriptcenter/Get-LoggedOnUser-Gathers-7cbe93ea
我假设 IdleTime 是以分钟为单位报告的,因为我的初始测试只显示单个整数。
答案2
从 Windows 2008 开始,命令穩瑟作品。
显示有关远程桌面会话主机(RD 会话主机)服务器上的用户会话的信息。
实际上,答案中链接的 PowerShell 脚本只是运行此命令。OP 要求一种快速简便的方法,这肯定比下载和执行 PS 脚本更快。
Windows Server 2012 R2 的示例:
C:\Users\admin.tedd>quser 用户名 会话名称 ID 状态 空闲时间 登录时间 admin.xxxxxxxx 2 盘 15+15:12 2017/7/20 下午 1:19 admin.xxxxx rdp-tcp#54 3 活动时间 1:39 2017 年 7 月 21 日上午 5:35 xxxxxxxx 4 盘 6+04:10 2017 年 7 月 21 日上午 9:25 >admin.tedd rdp-tcp#86 5 活跃 。2017 年 8 月 9 日下午 4:40
+ 前面的数字是天数,因此 15+15:12 是 15 天 15 小时 12 分钟。
注意!文档说这与运行相同query user
。我的服务器上不存在该命令query
。不确定这是单独安装还是功能安装的一部分。
答案3
在命令提示符(CMD)中输入:
查询用户
然后它会向您显示结果。
答案4
Get-RDUserSession |ft Username,Idletime
Get-RDUserSession |select-object UserName,Servername,IdleTime,CreateTime
仅举几个例子——最大的问题是转换“idletime 属性”,它是一些时间整数,例如:6667354 转换为 Days:HH:MM:SS
我还没弄清楚。