Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 检查远程会话_.net_Powershell_Network Programming_Remote Access_Windows Server 2012 - Fatal编程技术网

.net 检查远程会话

.net 检查远程会话,.net,powershell,network-programming,remote-access,windows-server-2012,.net,Powershell,Network Programming,Remote Access,Windows Server 2012,我想创建一个应用程序,用于检查并通知服务器上是否存在远程会话。我不知道像Bomgar、gotomeeting、GoToAsist等远程访问产品是否使用终端服务 它看起来像GetSystemMetrics'SM\u REMOTECONTROL和SM\u REMOTESESSION仅指通过Windows终端服务连接的远程会话 我刚刚看过这个,但它指的是PowerShell会话 所以,我的一般问题是什么.NETAPI家族负责创建、配置和检测远程访问 发布后编辑: 我刚刚在Microsoft TechN

我想创建一个应用程序,用于检查并通知服务器上是否存在远程会话。我不知道像Bomgar、gotomeeting、GoToAsist等远程访问产品是否使用终端服务

它看起来像
GetSystemMetrics'
SM\u REMOTECONTROL
SM\u REMOTESESSION
仅指通过Windows终端服务连接的远程会话

我刚刚看过这个,但它指的是PowerShell会话

所以,我的一般问题是什么.NETAPI家族负责创建、配置和检测远程访问

发布后编辑:


我刚刚在Microsoft TechNet中查看了另一个,似乎我需要获得一个进程列表,并找出
rdpinit.exe
rdpshell.exe
是否在每个进程的进程列表中,但这是否包括一些著名的远程访问产品,是否有API来执行此操作?

如何使用
netapi32.dll
中的
NetSessionEnum
函数?英格兰银行Prox有一篇关于它的文章:

已经有预先编写的PowerShell脚本可以p/invoke它,但是如果您想自己使用,这里是p/invoke.net作为签名:


作为补充说明,MS在几个月前发布了一篇博客文章,其中包含一个脚本,详细说明了对注册表的ACL修改,以实际阻止此操作,因为它允许对Windows计算机进行非管理员远程会话枚举。

“这会覆盖所有远程访问产品吗?”-我不明白你怎么能测试你不知道存在的东西的存在。@Bill_Stewart说得对。我编辑了这篇文章。你不能利用
netstat-ano
解析外部地址,然后反转进程名的PID吗?其中.net程序集是NetSessionEnum?无。。。这就是为什么您必须使用平台调用服务(p/invoke)来访问底层的Windows API。NetSessionEnum函数驻留在System32\netapi32.dll中我链接的Boe Prox(他非常棒)的博客文章中有一个他编写的脚本,您可以参考或使用。网上也有其他人。