我试图在没有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,你想要的一切。 阴影,注销等