powersehll持续注销指定用户Citrix桌面会话
如下,通过powersehll命令实现,监控指定用户会话情况,当用户成功登录桌面后,脚本会自动注销此登录用户的会话。
while ($true) { #获取指定用户会话信息 $sess = (Get-BrokerSession -Filter { BrokeringUserName -eq "CITRIXLAB\ctxadmin" }) #判断获取的用户会话信息是否不为空。 if ($sess -ne $null) { echo "用户CITRIXLAB\ctxadmin以会话连接桌面,5秒钟后断开此用户所有会话" sleep 10 #执行注销用户用户 $sess | Stop-BrokerSession #判断用户注销后,会话信息是否及时清除 while ($true) { $sess = (Get-BrokerSession -Filter { BrokeringUserName -eq "CITRIXLAB\ctxadmin" }) #判断用户注销后,会话信息是否不为空 if ($sess -ne $null) { echo "正在注销中" sleep 3 } else { echo "已注销" break } } echo "桌面已注销" } else { echo "用户未登录" sleep 3 } }