我有两个Windows 2008 R2terminal服务器,并已授予用户访问这两个服务器,以保持冗余/负载分享。
如何限制用户同时login两台服务器?
为服务器设置一个NLB群集 。
设置会话代理
在适用于服务器的GPO中启用GPO设置“限制terminal服务用户到单个远程会话”。
这三件事情一起工作将实现你的目标。
从你所描述的,似乎没有什么能够阻止所有的用户同时login到任何一台服务器上。 那当然不会提供负载分配。 考虑允许每个用户只login一个服务器,而不是让用户select一个。 要覆盖任何一台服务器closures的可能性,您还可以创build三个脚本,以便根据需要运行。
如果两台服务器都在域中,则应设置远程桌面连接代理并创build远程桌面服务器场
经纪人的工作是转发用户大部分免费的服务器。 这不是一个“薄弱环节”。 连接过程如下所示:
TERMINAL-FARM 172.16.16.1 TERMINAL-FARM 172.16.16.2 TERMINAL-FARM 172.16.16.3 etc – RDS服务器询问经纪商是否需要将该用户redirect到其他服务器。 如果代理closures,它只接受连接,并且像服务器不是农场成员那样工作
代理查找用户是否已经在任何服务器场RDS服务器上打开了会话。 如果是这样,它会通知RDS将用户redirect到此服务器。 然后,Broker查找所有RDS服务器的LoadIndicator *,并通知RDS服务器redirect用户或接受连接。
如果代理告诉RDS服务器将用户移动到其他服务器,则RDS服务器响应用户切换到连接到另一个IP地址(redirect时使用IP地址,而不是DNS名称)
RDP客户端重新连接到被告知要连接的服务器。 如果客户端使用RDPencryption,则再次要求他input密码,如果TLSencryption,则用户自动进行validation。
LoadIndicator是服务器场中每个服务器的数字值。 普通是通过公式LoadIndicator = (ServerWeight * ( LoggedOnUsers + PendingRedirections)) 。 如果服务器处于Drain mode , LoadIndicator值非常大(65535我认为),所以在Drain mode连接永远不会redirect到服务器