我想创建一个应用程序来检查并通知服务器上是否存在远程会话。我不知道是否远程访问产品,如 Bomgar , gotomeeting , gotoassist ,以及其他人是否使用终端服务。
看起来GetSystemMetrics'
SM_REMOTECONTROL
和SM_REMOTESESSION
仅指通过Windows终端服务连接的远程会话。
我刚看过这个post,但这是指PowerShell会话。
所以,我的一般问题是.NET API系列是如何处理创建,配置和检测远程访问的?
编辑自发布:
我刚看过Microsoft TechNet中的其他post,看来我需要获取一个流程列表,并找出每个流程中是否rdpinit.exe
和rdpshell.exe
'流程列表,但是会覆盖一些众所周知的远程访问产品,是否有API来执行此操作?
答案 0 :(得分:1)
来自NetSessionEnum
的{{1}}函数怎么样? Boe Prox有一篇很棒的文章:https://learn-powershell.net/2016/08/07/viewing-net-sessions-using-powershell-and-pinvoke/
已经有预先编写的PowerShell脚本可以调用它,但是如果你想要自己编写,请点击p / invoke.net进行签名:http://www.pinvoke.net/default.aspx/netapi32.NetSessionEnum
作为旁注,MS发布了一篇博客文章,其中包含一个脚本,该脚本在几个月前详细说明了对注册表的ACL修改,实际上阻止了这一点,因为它允许对Windows机器进行非管理员,远程会话枚举。