仅允许特定用户在 2008 R2 上进行多个 RDP 会话(无需 AD DS)

仅允许特定用户在 2008 R2 上进行多个 RDP 会话(无需 AD DS)

我目前在一家法国地区河流水位上涨预报服务机构实习。我为我的英语水平提前道歉,我还在不断提高。

该服务的网络基础架构如下:每个人都在瘦客户端上工作,通过 RDP 连接到应用服务器(上面装有 2008 R2)。这些服务器并非全部集成在域中(好吧……它们可以集成在一个域中,因为它们在角落里运行着一个 Samba4 DS,但我的老板在尝试添加 Samba 域中的所有服务器时遇到了一点小问题。解决这个问题不是我的任务,所以管他呢),也不集成在由连接代理管理的服务器场中。

我被要求寻找一种方法,让每台服务器上只有部分用户拥有多个 RDP 连接,而其他用户只允许一个 RDP 会话,如果没有 ADDS 的 GPO 管理工具,这有点困难。除此之外,我还在寻找一种工具,当其他人尝试连接到同一会话时,向单会话用户的连接会话发送一个弹出窗口,询问他们是否还有工作要做。如果他们仍在此会话中工作,他们会单击“是”,试图连接的可怜人将被拒绝。如果他们在 30 秒内没有回答或单击“否”,则新用户将接管会话。

经过一周毫无意义的研究,涉及糟糕的脚本和对连接代理服务的误解,我向您寻求帮助。

编辑:我忘了指定瘦客户端在 XP Embedded 上运行,这将客户端脚本(如果有)限制为 Powershell 2.0,我打算使用它来完成大部分工作。

答案1

关于同一用户的多个会话,这是一个编辑注册表项的问题,但它是在机器级别而不是用户级别进行控制的......所以它是所有用户的多个会话,或者没有一个用户的多个会话。

在相关的终端服务器上,导航到位于以下位置的注册表项:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\fSingleSessionPerUser

当值为 时1,每个用户只允许一个会话。当值为 时0,用户可以有多个会话。

关于警告,这应该是默认行为。假设用户被授予注销其他用户会话以进行连接的权限,被注销的用户应该会弹出一个窗口,并有 30 秒的时间不被注销。

Computer/User Configuration在 XP/2003 中,此行为由-> Administrative Templates-> Windows Components->下的组(或本地)策略控制Terminal Services,而在 Windows Vista/2008 及更高版本中,它位于Computer/User Configuration-> Administrative Templates-> Windows Components->下Remote Desktop Services

答案2

因此,由于我无法指定每个用户只有一个会话还是多个会话,他们将不得不继续处理执行相同应用程序的 2 台服务器,其中 1 台有多个会话用户,另一台有单会话用户。

为了控制 RDP 连接,我想我会输入一个小软件(一个基本的远程桌面管理器),当有人在建立连接之前试图接管它时,它会将所需的弹出窗口发送到活动会话。

我必须要求我的同事使用该软件来连接单会话服务器,而不是我们当前正在使用的 RD 管理器。

无论如何,感谢您的回答 HopelessN00b。

相关内容