我正在尝试在datagridview中列出特定用户的所有活动Citrix会话。 它可以列出所有会话,但我希望它跳过已经在datagridview中列出的会话,而只是查看它们的BrowserName。
如果我只列出2个会话,则此脚本可以正常工作。但是,当我尝试查询运行超过3个会话的用户时,它就会停止工作。
有谁知道我怎么能让这个工作?或者任何更好的方法来存储会话,这将使我对它们的处理更容易?
function List-CitrixSessions{
param([string]$userEntry)
$datagridview1.Rows.Clear()
$sessions = Get-XASession -ComputerName $CitrixDataCollector -Account GLOBAL\$userEntry
foreach ($session in $sessions){
if ($servers -contains $session.serverName){
$datagridview1.Rows.Add($null,$session.BrowserName,$null,$null,$null,$null)
}
else{
$servers += $session.serverName
$dataGridView1.Rows.Add($session.State,$session.BrowserName,$session.serverName,$session.SessionID,$session.ClientName,$session.ClientIPV4)
}
}
}
答案 0 :(得分:0)
在运行脚本之前找不到清除服务器变量,因此导致一堆错误。