检查远程会话

时间:2017-06-29 14:26:50

标签: .net powershell network-programming remote-access windows-server-2012

我想创建一个应用程序来检查并通知服务器上是否存在远程会话。我不知道是否远程访问产品,如 Bomgar gotomeeting gotoassist ,以及其他人是否使用终端服务。

看起来GetSystemMetrics' SM_REMOTECONTROLSM_REMOTESESSION仅指通过Windows终端服务连接的远程会话。

我刚看过这个post,但这是指PowerShell会话。

所以,我的一般问题是.NET API系列是如何处理创建,配置和检测远程访问的?

编辑自发布:

我刚看过Microsoft TechNet中的其他post,看来我需要获取一个流程列表,并找出每个流程中是否rdpinit.exerdpshell.exe '流程列表,但是会覆盖一些众所周知的远程访问产品,是否有API来执行此操作?

1 个答案:

答案 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机器进行非管理员,远程会话枚举。