【发布时间】:2019-10-08 11:01:20
【问题描述】:
假设以下场景:
- 我使用 RDP 登录终端服务器(Windows Server 2012 R2 或 2016)
- 另一个用户使用“mstsc.exe /shadow”命令连接到我的会话。
- 我收到确认访问的消息,我同意。
- 然后,过了一会儿,我想检查一下我的会话是否仍处于阴影中。
有没有办法执行这个检查?任何命令、Win32 API、WMI 查询?
到目前为止,我只能发现rdpsaproxy.exe 程序是在影子会话中启动的。这几乎足够了,但是当用户在提示接受初始阴影请求时拒绝访问时,该程序也会继续运行。因此,在检查会话中检测到 rdpsaproxy 的存在并不足以说明有人在监视我。
【问题讨论】:
-
我注意到 RdpSa.exe 程序在会话被隐藏时启动,它创建命名事件信号量,其名称为“RDPSchedulerEvent”,后跟一些数字。仅当接受影子请求时才创建此对象。这纯粹是试错法,但似乎有效。我已将示例程序放到 github:github.com/macmacy/chkshadow
标签: windows rdp terminal-services