如下,通过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
}
}