在没有连接代理的情况下pipe理2012 R2 RDSH池会话

我试图在没有2012 R2连接代理angular色的vWorkspace 8.6.1服务器场中跨10个2012 R2 RDSH主机pipe理用户会话。

我担心添加连接代理,创build池和添加服务器会影响vWorkspace(两个驱动程序,一个汽车)中设置的策略设置和负载平衡规则。 而且vWorkspace控件不够直观,无法部署到第1层支持,而且有点笨重。

这在2008年和以前的版本中都不是问题,但是现在微软已经取代了以前的所有独立工具,并且似乎强制了其服务器pipe理器/连接pipe理器angular色的设置。

寻找PowerShell脚本(或其他)选项来pipe理用户注销,阴影会话等(跨池),不参考连接代理。 大多数的PowerShell脚本/工具现在引用一个集合: TechNet Get-RDUserSession

Get-RDUserSession -ConnectionBroker“rdcb.contoso.com”

你可以使用Get-RDUserSession来完成这个任务。 只需引用集合名称,而不是connectionbroker

 Get-RDUserSession -collectionname "Mycollection" | ft Username, UnifiedSessionId 

这将获得所有RDP连接的会话ID

那么你可以用这个命令来遮蔽这些(在这个例子中,sessionid "3"是被遮蔽的)

 Mstsc /shadow:3 /control 

为了让你的生活更轻松,你可以使用一个查找UserName的函数。

 function ShadowSession([string]$UserName, [string]$CollectionName) { $SessionID = Get-RDUserSession -collectionname $CollectionName | select UnifiedSessionId | ? {$_.Username -eq $UserName} mstsc /shadow:$SessionID /control } 

所以你的命令将是

 ShadowSession -UserName "User01" -CollectionName "MyCollection" 

如果你只有一个RDS收集使用这个

 function ShadowSession([string]$UserName) { $SessionID = Get-RDUserSession -collectionname "MyCollection" | select UnifiedSessionId | ? {$_.Username -eq $UserName} mstsc /shadow:$SessionID /control } 

那么你不必引用collectionname,只有用户名

 ShadowSession -UserName "User01" 

你甚至可以进一步添加开关到你的function

那么你可以使用这个function,你想要的一切。 阴影,注销等