2

StoreFront : afficher le nom (displayname) des applications sans troncage

il peut arriver dans certaines productions que le nom des applications soit à rallonge, dans ce cas la StoreFront va automatiquement tronquer le nom de l’application si ce dernier dépasse les 17 caractères.

 

SF_Apps_Full_Displayname1On a pas le droit d’avoir le DisplayName en entier, on a payé pourtant 🙂

 

Pour afficher le nom des applications en entier il vous faudra modifier le fichier C:\inetpub\wwwroot\Citrix\VotreSotreWeb\receiver\js\ctxs.webui.min_35BC18E54FFE70CC.js (attention, selon la version de StoreFront la suite numérique peut varier).

 

Une fois le fichier ctxs.webui.min_35BC18E54FFE70CC.js ouvert, modifiez la ligne ci-dessous :

c = CTXS.UI.useSmallTiles() ? 120 : 140;

par

c = CTXS.UI.useSmallTiles() ? 120 : 240;

 

Enregistrez le fichier ctxs.webui.min_35BC18E54FFE70CC.js.

 

SF_Apps_Full_Displayname2
C’est plus lisible du coup 😉

 

Nous avons testé cette modification avec des StoreFront 3.01 et 3.5.

 

Attention si le nom de vos applications (DisplayName) ne comporte pas d’espace (hé oui on a eu le cas) il n’y aura pas de retour à ligne dans StoreFront.

0

PowerShell : désactiver les abonnements utilisateur

Comme ce n’est pas vraiment documenté (voir pas du tout), on vous met la ligne de commande pour désactiver en PowerShell les abonnements utilisateur (Disable User Subscription) d’un magasin (Store) dans StoreFront.

Set-DSLockedDownStore  -SiteId « 1 » -VirtualPath « /Citrix/VotreStore » -IsLockedDown $True

Bon on vous l’avoue, c’est pour aussi l’avoir sous la main pour une prochaine fois 😉 .

2

Erreur Web Interface : Invalid URI: The hostname could not be parsed.

Quoi de plus énervant que de retrouver des journaux Windows pollués d’erreurs à ne plus en finir, c’est dans ce contexte que nous avons trouvé certaines Web Interface.

 

Les Web Interface en questions (Windows 2008 Us R2, Web Interface 5.4) généraient l’Event ID 21002 toutes les 3 secondes :

Log Name:      Application
Source:        Citrix Web Interface
Event ID:      21002
Task Category: None
Level:         Error
Keywords:      Classic
Description:
Site path: C:\inetpub\wwwroot\Citrix\Site1.
Critical server error: System.UriFormatException: Invalid URI: The hostname could not be parsed.

 

Event21002_01Il ne reste plus qu’à trouver la source

Event21002_02Inutile de nous faire le coup du « mais où est ton Logstash, ElasticSearch et Kibana ou mieux ton SexiLog pour Citrix » 🙂

Event21002_03Un Wireshark après nous avons trouvé la cause, un cluster de F5 qui monitorait un Site Webi via un GET /Citrix/Site1/auth/login.aspx.

Event21002_04Une fois le monitor corrigé (via un Get sur le site webi  /Citrix/Site1, sans auth/login.aspx) par nos collègues F5.

0

StoreFront : An error has occured during the all server configuration update process

Une feature bien pratique sous StoreFront est bien-sûr le « Propagate Changes » qui permet comme son nom l’indique de propager les modification d’un StoreFront sur l’ensemble d’un Server Group. Mais voilà il peut arriver que la propagation s’enrhume 🙂 .

SF3-error1La bonne nouvelle est qu’on a un event qui va nous mettre sur la root cause (voir plus bas)

 

Dans le cas présent nous avons un serveur groupe de trois StoreFront (W2k12 R2 US, StoreFront 3.0.1.56 -hé oui c’est une infra LTSR 😉 ), lors de propagation (au préalable les serveurs ont bien été ajoutés au serveur group mais la propagation n’avait pas fonctionné) nous avions systématiquement l’event 31 sur le serveur StoreFront où nous lancions la propagration.

Log Name:      Citrix Delivery Services
Source:        Citrix Configuration Replication Service
Event ID:      31
Level:         Error
Description:
An error has occured during the all server configuration update process.
Citrix.DeliveryServices.ConfigurationReplication.Exceptions.ServerUpdateConfigurationException, Citrix.DeliveryServices.ConfigurationReplication, Version=3.0.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856
An error occurred running the command: ‘Add-DSFeatureInstances’
<Data>An error has occured during the all server configuration update process.
An error occurred running the command: ‘Add-DSFeatureInstances’
The feature data is out of date
At line:1 char:1
+ Add-DSWebReceiver -SiteId 1 -VirtualPath /Citrix/StoreWeb -AppPool ‘Citrix  …
RemoteEndpoint: net.tcp://YourServer/Citrix/ConfigurationReplication

Nous comprenons que nous avons donc un problème avec le Site StoreWeb sur les deux autres StoreFront, en regardant de plus près ces StoreFront ont subi un Clear-DSConfiguration et visiblement tout ne s’est pas supprimé durant le « reset factory » (voir la CTX200239 pour de plus amples informations sur le reset factory).

Dans IIS, nous avons constaté que dans L’Application Pools, L’application « Citrix Receiver for web » avait encore le Virtual Path « StoreWeb » de bindé.
Afin de supprimer le Virtual Path StoreWeb, nous avons créé une application TEST puis nous avons déplacé le Virtual Path StoreWeb dans cette nouvelle application et enfin nous avons supprimé l’application TEST.

 

SF3-error2Il ne reste plus qu’à supprimer le Virtual Path en cause 😉

 

Une fois ces actions réalisées le « Propagate Changes » passait sans problème.

 

SF3-error3Le mot « vert » vient du latin virĭdis, qui veut dire « vert » (voir ici) 🙂

 

0

Windows 2012/2012 R2 : Recréer le listener RDS

Fini le bon vieux temps où l’on pouvait recréer le listener RDP via une GUI. Sous Windows 2012/2012 R2 il faut désormais passer par la case registre.

Histoire de ne pas faire d’import de registre le jour J, on s’est fait une GUI via un script Powershell (he oui encore du winform 🙂 ) afin de pouvoir recréer un listener RDP sous un serveur Windows 2012/2012 R2 (pour l’instant seul Windows 2012/2012 R2 sont concernés).

Une fois lancé le script vous permet de connaitre l’état du listener RDP, son port et si ce dernier répond bien à un socket TCP.

 

RecreateRdpListenerVia un qwinsta nous avons l’état du listener RDP (et plus si vous avez d’autres listeners)
Cliquez sur le bouton « Recreate Rdp listener » pour récréer le listener RDP (un backup du listener est réalisé dans le répertoire d’exécution du script)

 

RecreateRdpListener1Un popup vous demande la confirmation de l’action

 

RecreateRdpListener2Un fois le listener recréé, vous obtenez un message de confirmation

 

 Download_2
RecreateRdpListener.rar

 

Si vous souhaitez passer par la case registre pour recréer un listener RDP 2012/2012R2 , la KB de dell « How to recreate or add an additional RDP Listener in Windows Server 2012 and 2012 R2 » vous aidera dans votre démarche.