Windows-Server-2012-R2
在沒有連接代理的情況下管理 2012 R2 RDSH 池會話
我正在嘗試在沒有 2012 R2 連接代理角色的 vWorkspace 8.6.1 場內跨 10 多個 2012 R2 RDSH 主機管理使用者會話。
我擔心添加連接代理、創建池和向其中添加伺服器會干擾 vWorkspace 中的策略設置和負載平衡規則設置(兩個驅動程序,一輛車)。而且 vWorkspace 控制項不夠直覺,無法部署到第 1 層支持,而且有些笨拙。
這在 2008 年和以前的版本中不是問題,但現在微軟已經替換了所有以前的獨立工具,並且似乎強制他們的伺服器管理器/連接管理器角色設置。
尋找不引用連接代理的 powershell 腳本(或其他)選項來管理使用者註銷、影子會話等(跨池)。Powershell的大多數腳本/工具現在都引用了一個集合:TechNet Get-RDUserSession
獲取 RDUserSession -ConnectionBroker“rdcb.contoso.com”
您實際上可以
Get-RDUserSession
用於此任務。只引用集合名稱,而不是連接代理Get-RDUserSession -collectionname "Mycollection" | ft Username, UnifiedSessionId
這將為您提供所有 RDP 連接的會話 ID
然後你可以使用這個命令來隱藏它們(在這個例子中,sessionid
"3"
被隱藏了)Mstsc /shadow:3 /control
為了讓您的生活更輕鬆,您可以使用查找使用者名的函式。
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 }
那麼您不必引用集合名稱,只需引用使用者名
ShadowSession -UserName "User01"
您甚至可以更進一步,為您的功能添加開關
那麼您可以將此功能用於您想要的一切。遮蔽、註銷等