Personnaliser le fichier ICA de votre infra XenApp / XenDesktop

Citrix-ban

Dans le cadre d’une infrastructure Citrix, lorsque vous vous connectez à vos ressources en passant par un portail tel que la Web Interface ou StoreFront ; vous vous identifiez et accédez alors aux différentes ressources disponibles pour votre compte. Il peut s’agir d’une simple application (XenApp) ou d’un bureau virtuel complet VDI (XenDesktop).

Une fois que votre choix est fait, quel qu’il soit, le Delivery Controller (ou Broker) analyse ensuite, suivant la ressource que vous avez demandé, sur quel serveur il va vous autoriser à ouvrir une session. A ce moment là, plusieurs indicateurs entrent en jeux : votre application ou bureau n’est peut-être pas disponible sur tous les serveurs de la ferme et parmi ceux qui possèdent l’application recherchée, vous serez également réparti en fonction de la charge des différents serveurs (load balancing).

Une fois que tout est prêt, le Controller renvoi les informations au portail qui va vous permettre de télécharger un fichier portant l’extension ICA. C’est ce fichier qui sera lu et interprété par le client Citrix Receiver et qui va vous permettre d’établir une session vers un serveur Citrix et ainsi accéder à la ressource.

En fonction du navigateur que vous utilisez, vous pouvez d’ailleurs accéder à ce fichier en l’ouvrant avec un simple éditeur de texte tel que NotePad++. Parfois via Internet Explorer, vous ne voyez pas le fichier car celui-ci est téléchargé dans un espace temporaire puis immédiatement exécuté via le Receiver (et supprimé une fois que la session est ouverte). Pour avoir accès à ce fichier, utilisez Chrome ou Firefox qui vont voir ce fichier ICA comme n’importe quel autre fichier téléchargé.

Chaque fichier ICA est généré suivant un modèle, généralement appelé default.ica, qui est stocké sur le portail web (Web Interface, StoreFront) dans un dossier spécifique. Donc si vous voulez y ajouter des paramètres spécifiques, vous devez modifier ce fichier.

Avant toute, je vous invite à en récupéré un sur votre infra. En fonction du type de portail web que vous utilisez, le fichier default.ica sera positionné à l’emplacement suivant :

Picture1

  • StoreFront : C:\inetpub\wwwroot\Citrix\Store\App_Data
  • Web Interface 5.xC:\inetpub\wwwroot\Citrix\XenApp\conf
  • Dans les versions précédentes telles que XenApp 4.5, 4.6 ou même encore MetaFrame Presentation Server, le fichier se trouve aux emplacements suivants :
    • version 4.5 / 4.6 : C:\inetpub\wwwroot\Citrix\AccessPlatform\conf
    • version 4.0 :  C:\inetpub\wwwroot\Citrix\MetaFrame\conf

Picture4

Bien entendu, veillez à adapter le chemin en fonction des noms que vous avez donné à vos Stores ou portails (en remplaçant XenApp ou Store par ce qui va bien dans votre configuration).

Une fois le fichier trouvé, vous pouvez l’éditer avec NotePad++ (par exemple) ; vous distinguerez alors 4 zones majeures dans le fichier – notez que le respect et l’ordre des ces différentes sections est important :

  • [Encoding] : permet d’indiquer quel est l’encodage utilisé pour le fichier ICA (cette section doit arrivée en premier).
  • [WFClient] : correspond aux paramètres qui seront appliqués à l’ensemble de votre ferme pour toutes les ressources et applications. Tous les réglages que vous indiquerez ici vont outrepassés les réglages de l’utilisateur final.
  • [ApplicationServers] : cette section indique tout simplement le nom de l’application cible. Dans l’exemple que j’utilise ci-dessous il s’agit de Word.
  • [%ConnectionName%] : dans notre exemple, cette section se nomme donc Word. Si vous regardez les paramètres de cette section vous verrez que nous retrouvons le serveur Citrix sur lequel notre session sera hébergé (Address) et différents éléments de paramétrage tels que la configuration audio, le domain, l’utilisation ou non d’un proxy (et sa configuration), la compression, et bien d’autres choses encore.
[Encoding]
InputEncoding=ISO8859_1

[WFClient]
COMAllowed=On
CPMAllowed=On
ClientName=WI_Db19oMKjreW0YIvHM
ProxyTimeout=30000
ProxyType=Auto
RemoveICAFile=yes
TransparentKeyPassthrough=Local
TransportReconnectEnabled=On
Version=2
VirtualCOMPortEmulation=On

[ApplicationServers]
Word=

[Word]
Address=10.70.128.52:1494
AudioBandwidthLimit=2
AutologonAllowed=ON
CGPAddress=*:2598
ClearPassword=80814B130BE09C
ClientAudio=On
DesiredColor=8
DesiredHRES=800
DesiredVRES=600
Domain=\926CEC2F09299440
InitialProgram=#Word
Launcher=WI
LongCommandLine=
ProxyTimeout=30000
ProxyType=Auto
SessionsharingKey=8-basic-basic-critter-user1-FarmA
TWIMode=On
TransportDriver=TCP/IP
Username=user1
WinStationDriver=ICA 3.0

[Compress]
DriverNameWin16=pdcompw.dll
DriverNameWin32=pdcompn.dll

[EncRC5-0]
DriverNameWin16=pdc0w.dll
DriverNameWin32=pdc0n.dll

[EncRC5-128]
DriverNameWin16=pdc128w.dll
DriverNameWin32=pdc128n.dll

[EncRC5-40]
DriverNameWin16=pdc40w.dll
DriverNameWin32=pdc40n.dll

[EncRC5-56]
DriverNameWin16=pdc56w.dll
DriverNameWin32=pdc56n.dll

Je vais prendre un cas que j’ai rencontré récemment mais imaginons que pour une application précise nous ayons besoin de configurer un élément spécifique de configuration : par exemple l’utilisation d’un proxy spécifique ! Dans ce cas là, nous allons devoir modifier la section correspondante à l’application afin d’ajouter 2 paramètres que sont : ProxyType & ProxyHost ; pour respectivement activer l’utilisation d’un proxy spécifique et préciser son FQDN.

Picture3

Désormais, les modifications que nous avons apporté sur ce fichier default.ica seront répercutées dans tous les fichier ICA qui seront générées lors de la connexion à la ferme ! 🙂

Si vous désirez appliquer un paramètre à l’ensemble des applications / ressources, ajoutez le paramètre dans la section [WFClient]. En revanche, si le paramètre ne doit être appliqué qu’à une application précise, vous devez d’abord récupérer son appellation de publication (telle qu’elle a été nommée au moment de la publication) et créer une nouvelle zone qui porte ce nom avec les paramètres que vous aurez choisi. Dans l’exemple ci-dessous, j’ai effectué le test avec la Calculatrice.

Je vous encourage à modifier ce fichier dans un environnement bac à sable et à procéder à des modifications simples dans les différentes sections du fichier puis de tester par vous-même de vous connecter afin de vous rendre compte de la manière dont sont pris en compte les changements ! 🙂

Je vous recommande également la lecture de ces 2 sites :

  • http://www.ingmarverheij.com/ qui détaille la plupart des paramètres que vous pouvez utiliser dans votre modèle de fichier ICA avec les différentes valeurs de configuration que chaque paramètre peut prendre !
  • http://www.thomaskoetzing.de/ – le modèle de fichier ICA affiché plus haut provient de cet excellent article.

Et si vous avez une question, n’hésitez pas à utiliser les commentaires.