Dans un précédent article, nous avions vu comment stopper les sessions des utilisateurs déconnectés mais n’ayant pas effectués un véritable LogOff – cette fois-ci nous allons voir comment déconnecter les sessions des utilisateurs qui seraient AFK depuis 2 heures ou plus c’est-à-dire les sessions pour lesquels les utilisateurs n’ont pas effectué d’actions ou de saisie.
Add-PSSnapin Citrix* # We get ALL the Citrix sessions actived $all_sessions = Get-BrokerSession</pre> # For each session foreach ($session in $all_sessions) { # If the session is in "Active" status if ($session.SessionState -eq "Active") { # If the user has a too big Idle duration (only 2 hours allowed) if (($session.IdleDuration.Hours -ge 2) -and ($session.IdleDuration.Minutes -ge 0)) { Write-Host $session.UserName "has an Idle Duration of" $session.IdleDuration Stop-BrokerSession $session } } }
Le script commence de la même façon. On commence par récupérer l’ensemble des sessions utilisateurs actuellement ouvertes (Active) puis si nous avons une IdleDuration qui dépasse les 2 heures alors nous fermons la session avec la même commande que nous avions déjà utilisé : Stop-BrokerSession.
Bien entendu, vous pouvez planifier le script via le Task Scheduler de Windows.