Mise à jour de XenApp_Check : 2.2

Ajout de la section Citrix HotFix missing, permettant de vérifier la présence d’un HotFix Citrix sur chaque serveur membre de la ferme XenApp (XA5/6x).
Par défaut cette section est activée, vous pouvez la désactiver via le fichier XenApp_Check.ps1 en mettant à FALSE la variable $Check_Ctx_HotFix

Si vous souhaitez changer version du HotFix Citrix recherché (la modification se fait dans le fichier XenApp_CheckXAx.ps1) :
– Pour XenApp6.0/6.5 changer la valeur de la variable $Ctx_HotFixXA60 (pour XenApp 6.0)  ou $Ctx_HotFixXA65 (pour XenApp 6.5).
– Pour XenApp 5 changer les valeur de  la variable $Ctx_HotFixXA5_32 (pour les OS 32bits) et/ou $Ctx_HotFixXA5_64 (pour les OS 64 bits).
 

Reste plus qu’à leur installer le HotFix validé par vos soins

 

Si le message LHC error or CtxHotFix not Installed apparait dans la colonne Citrix HotFix, soit le HotFix n’est pas installé soit la LHC est corrompu

Le billet sur XenApp_Check

Post to Twitter

Forcer la suppression d’un serveur d’une ferme XenApp 6.5

Si vous rencontrez des problèmes pour sortir un serveur d’une ferme XenApp 6.5, il existe un moyen simple et rapide de forcer sa suppression (le trick a été trouvé sur le forum Citrix, merci à Christoph Sinabell 😉 ).

Allez sur le serveur récalcitrant, et modifiez la valeur “Joined” (dans HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\IMA\Status) à 0 (par defaut la valeur est à 1)

Il ne reste plus qu’à lancer un “C:\Program Files (x86)\Citrix\XenApp\ServerConfig\XenAppConfigConsole.exe /ExecutionMode:Leave”  et le serveur est supprimé de votre ferme (testé sur un serveur XA65 US sp R01 😉 ).

Post to Twitter

Problème d’application de stratégies Citrix (via l’Appcenter)

Sur un serveur XenApp 6.5 R01 US nous avions un problème d’application de Calculateur de charge (via les policy Citrix de l’Appcenter), en regardant dans les logs du serveur nous avons constaté la présence de l’event ID 1091.

Log Name: System
Source: Microsoft-Windows-GroupPolicy
Event ID: 1091
Level: Warning
Description:
Windows could not record the Resultant Set of Policy (RSoP) information for the Group Policy extension <Citrix Group Policy>. Group Policy settings successfully applied to the computer or user; however, management tools may not report accurately.

Un rsop sur le serveur en question

La CTX130116 traite ce type de problème, en effet dans notre cas les fichiers Rsop.gpf et Rollback.gpf avaient bien une taille de 0 Ko.
Une fois les fichiers Rsop.gpf et Rollback.gpf (ainsi que les répertoires contenus dans %PROGRAMDATA%\Citrix\GroupPolicy) supprimés (associé à un gpupdate /force) l’application des policy Citrix s’est faite sans problème.

Afin de vérifier que nous n’avons pas d’autres serveurs rencontrant le même problème d’application de policy Citrix, nous avons mis en place un script PowerShell listant les serveurs XenApp ayant des fichiers Rsop.gpf et Rollback.gpf avec une taille de 0 Ko.

 

Lui il est bon pour un delete de fichier Rsop.gpf et Rollback.gpf 🙂

 

CheckGpfFileCtxPolicy.ps1

 

Post to Twitter

Erreur Java suite à l’installation d’un agent EdgeSight

Sur un silo applicatif (XenApp 5 R06 2003 32 bits sp1 Us + JRE 1.6.0_14-b08, oui la JRE n’est pas UpToDate)  nous avons rencontré l’erreur Java ci-dessous suite à l’installation d’un client EdgeSight (5.3.4136.3 ).

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the java virutal machine 


Sauf que dans notre cas et c’est là que ça devient marrant, l’erreur intervenait uniquement en bureau publié (et en bureau RDP).

En regardant le batch lançant l’application on constate que la partie -Xmx est à 1024 Mo (-Xmx1024M ), si on descend le Xmx l’application se lance sans erreur mais cette option n’est pas envisageable dans notre cas (problème de support de l’éditeur 🙂 ).

Si vous souhaitez en savoir plus sur l’Xmx : Xmx to set the maximum heap memory size

Dans notre cas la modification de la valeur UviProcessList (rajout de java.exe et javaw.exe dans les exclusions)  dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\rskcore permet logiquement de bypasser l’erreur “Error occurred during initialization of VM“.

Une GPP après, le problème subsistait :).

La correction est venu via l’upgrade de l’agent Edgesight 5.3.4136.3 en 5.34140.4.

Quelques liens traitant de l’erreur :
http://www.archy.net/citrix-edgesight-5-2-1-could-not-create-the-java-virtual-machine
http://support.citrix.com/article/CTX115868 
https://forums.oracle.com/forums/thread.jspa?messageID=6438592 

Post to Twitter

PowerShell : Graphique des CCU d’une application publiée

Dans ce billet et  juste pour le fun, un script PowerShell permettant de “grapher” les CCU d’une application publiée.

On vous l’a dit cacti on aime 😉
Tester sur une Ferme en XA 6.5 R01 Us, via une tâche planifiée et à la mano.

Bien que le résultat soit old school, c’est propre et ne nécessite aucune installation (hormis le Chart Controls for Microsoft .NET Framework 3.5 🙂 .

Pré-requis :

  • Installer le Chart Controls for Microsoft .NET Framework 3.5
  • Remplacer la valeur de la variable $App par celle de votre application dans le script XenApp_Chart.ps1
  • Via une tâche planifiée, exécuter le script XenApp_Chart.ps1 (ou à la mano juste pour tester 🙂 ). 
     

XenApp_Chart.ps1

 

La partie graphique du script est fortement inspirée du billet “Tutorial: PowerShell and Microsoft Chart Controls (or How To Spice Up Your Reports)” de ByteCookie.

Post to Twitter

Afficher les applications dont le BrowserName est différent du DisplayName

Si vous souhaitez afficher la liste des applications dont le BrowersName n’est pas identique au DisplayName, exécutez la ligne de commande PowerShell ci-dessous (gare aux surprises 🙂 ).

Ho la belle bleu 🙂

 

get-xaapplication|%{if($_.DisplayName -ne $_.BrowserName){write-host $_.DisplayName "-" $_.BrowserName;$count++}};write-host "Count:" $Count
 

Post to Twitter

Mise à Jour de XenApp_Check : 2.1

Version : 2.1 (XA5/XA6x) 

Ajout de la section EdgeSight Agent, permettant de vérifier la version agent installée sur chaque serveur membre de la ferme XenApp (XA5/6x).
Par défaut cette section est désactivée, vous pouvez l’activer via le fichier XenApp_CheckXAx.ps1 en mettant à TRUE la  variable $Check_EdgeSightAgentVer

Post to Twitter

Supprimer un utilisateur “indésirable” de ses applications publiées

Que celui qui n’a jamais publié une application à un utilisateur “directement”  lève sa souris 🙂  .

Le problème est qu’il arrive qu’on oublie des fois\souvent de supprimer la/les publication(s) de l’utilisateur en question et dans le temps la situation ne s’améliore pas.

Si vous souhaitez supprimer toutes les applications publiées d’un utilisateur configuré en dur, la commande PowerShell ci-dessous vous aidera dans votre démarche.

$User="YourUser";Get-XAapplicationreport *|?{$_.Accounts -eq $User}|%($_){Remove-XAApplicationAccount $_ $User;write-host $_ ": $User was removed"}

Post to Twitter

Vérifiez si un utilisateur fait bien parti d’un groupe de publication

Dans une infra AD un peu “cossu”, il peut arriver que le groupe de publication contienne des groupes imbriqués dans d’autres groupes imbriqués etc.. etc… 🙂 ……….et tout ça dans une profondeur assez “intéressante” (une trentaine d’imbriquation dans notre cas).

Quand les collègues doivent vérifier rapidement si un utilisateur fait bien partie d’un groupe de publication ça peut devenir un peu… laborieux.

En PowerShell c’est simple et rapide :

Get-ADGroupMember -Identity "YourGroup" -Server "YourDC" -recursive | % {if ($_.name -eq "YourUser") {write-host "User found"}}

Au passage si vous souhaitez en savoir plus sur les limitations Active Directory c’est par ici.

Post to Twitter

Supprimer toutes les applications publiées d’un serveur

En PowerShell (testé sous XenApp 6x) ça tient sur une ligne :

$Server=Read-Host "Enter Server Name";get-xaapplication -servername $Server | Foreach ($_) {write-host $_.DisplayName ; Remove-XAApplicationServer -BrowserName $_ -ServerNames $Server}

Avant

 

Après

Post to Twitter