Il se peut que vous ayez ce type de message : "Web Interface Error: You are not permitted to start any more sessions for this resource "
Si la solution donnée par la Knowledge base de Citrix (http://support.citrix.com/article/CTX128378) ne vous convient pas, il vous reste une méthode de contrôle via powershell.
Ceci ne représente pas une solution mais un moyen de contournement.
le script qui suit va vous aider à identifier les utilisateurs qui peuvent être sujet à ce type d'erreur.
Notez que cet état est surtout utilisable dans un contexte de connexion sur des machines physiques.
Il faut une mise en place de la variable de datation qui servira pour les fichiers logs.
$DATEXEN=(get-date -uformat "%Y-%m-%d")
Le check permettra de repérer les utilisateurs non présents alors qu'une session est utilisée.
Pour être précis, il faut vérifier si Xendesktop Studio, par exemple, vous affiche les current user dans une session active mais non utilisée via un VDA.
Pour parvenir au contrôle de cette session, il faut utiliser les commandes qui suivent.
((get-brokersession -sessionstate NonBrokeredSession ) | % {if ($_.username -eq $null) {($_.dnsname) }} | % {$_.trimend(".DomainName")}) | % {if ($_.username -eq $null) {
La commande ci-dessus, permet de lister les utilisateurs ayant une session non utilisée via une connexion Citrix.
Pour ces utilisateurs, on vérifie que le champ USERNAME n'est plus remplie.
On en extrait donc un nom de machine.
La ligne implique une condition ouverte puisque on poursuit la requête ci-dessous.
On a donc le nom de la machine qu'on va "variabiliser" dans $computername.
$computername=($_)
Ensuite on écrit dans un log les pc qu'on a contacté au cas où il y aura un traitement à effectuer sur les postes recensés (sera complété dans un autre post qui complètera ce script).
write "$computername" > "PATH\NOM_DU_FICHIER-$DATEXEN.txt"
On va effectuer une action sur les services de chaque machine éligible à l'erreur de connexion.
On évalue les dépendances du service ICA de citrix.
(get-service -computer $computername -include "PorticaService").dependentservices | % {$_.name | % {
$ServiceName=($_)
Ensuite on effectue la variablisation de ces services pour les arrêter.
(gwmi -computer $computername win32_service -filter "name='$ServiceName'").stopservice()
}
}
Bien entendue on effectue une pause pour ne pas les enchainer trop rapidement...
sleep 20
On continue avec l'arrêt du service ICA.
(gwmi -computer $computername win32_service -filter "name='PorticaService'").stopservice()
Il faut maintenant relancer les services arrêtés.
(get-service -computer $computername -include "PorticaService").dependentservices | % {$_.name | % {
Toujours la même pratique que l'on a effectué sur l'arrêt des services.
$ServiceName=($_)
(gwmi -computer $computername win32_service -filter "name='$ServiceName'").startservice()
}
}
(gwmi -computer $computername win32_service -filter "name='PorticaService'").startservice()
}}
Vous voila en possession d'un script de type rustine pour arrêter les services souhaités et le plannifier sur un de vos Desktop Controller.
Cela me fait penser que vous devez toujours penser à mettre en place le snapin Citrix pour que les commandes puissent s'exécuter.