About Author: ctxblog

Website
http://www.ctxblog.fr

Posts by ctxblog

2

Supprimer un controler récalcitrant de la Database

Dans un environnement « Hors Prod » nous avons rencontré un problème sur un Controller, en effet ce dernier était encore inscrit dans la ferme mais le DSName n’était plus renseigné et le MachineName contenait le SID du controller en lieu et place du nom.

 

Bien sûr une suppression dans Studio n’était pas possible 🙁

 

En googlelant nous sommes tombés sur un poste de JGSPIERS.COM « Remove orphaned Delivery Controller from XenApp XenDesktop Site« , qui via un script PowerShell (EvictiScript.ps1 ; modifier au préalable les variables $DBName $EvictedSID)  va générer un fichier evict_.txt contenant le script sql à exécuter sur le serveur SQL hébergeant votre Database.

Une fois ces étapes réalisées, notre Controller est bien supprimé de la Database (tout du moins en partie mais ça nous le verrons plus bas dans ce billet), en effet nous ne le voyons plus via un Get-BrokerController.

 

Le script de nettoyage a bien supprimé le Controller non résolu

Read the rest of this entry »

6

XenApp_Usr7x V2

A l’époque lors de l’écriture de  XenApp_Usr7x  nous avions longuement hésité à passer sous C#, puis par facilité et manque de temps nous avions continué à faire du GUI sous PowerShell (on n’était dejà pas fan mais la fascilité l’emportait). Pour le passage de XenApp_Usr7x en V2 nous avons donc franchi le pas et avons donc écrit XenApp_Usr7x V2 sous C# 🙂 .

Pour rappel XenApp_Usr7x  (et XenApp_Usr) est un outil permettant de rechercher une session au sein d’une ferme XenApp/Xendesktop (version 7x) et d’afficher les informations se rapportant à la session de l’utilisateur recherché (ce qui évite les allers-retours entre les consoles Studio et Director).

A qui s’adresse XenApp_Usr7x ? Aux collègues du support qui pourront rapidement rechercher une session utilisateur et disposer des informations et actions néccéssaires (sans devoir jongler entre les consoles Studio et Director) au support niveau 1, puis escalader si besoin l’incident avec toutes les informations disponibles, aux collègues administrateurs qui pourront à leur tour aller plus loin dans l’investigation (affichage de compteurs de performance, métrique utilisateur, action sur les process, check de la database etc..etc..).

 

Les nouveautés par rapport à l’ancienne version :

  • Un beau SplashScreen (ok faut aimer les dinos)
  • Amélioration des temps d’ouverture de toutes les fenêtres
  • Utilisateur :
    • Affichage de l’historique des connections
    • Affichage du RTT ICA, Latence ICA, Input Bandwith Used et Output Bandwith Used
  • Server
    • Affichage en temps réel de la consommation CPU, RAM, Paging File Used, Disk free space, Avg disc sec/read et Avg disc sec/write
  • Delivery Group
    • Un graphique circulaire affiche le pourcentage de charge du DG
  • Process
    • Un double clique sur un process entraine l’ouverture d’une fenêtre affichant les principales informations du process (dont notamment le Working Set Size refresh en temps réel)
  • Base
    • Check de la base de données (Database)
  • Prise en compte de l’ajout de Controller une fois le fichier de configuration modifié (plus besoin de passer par le menu refresh)
  • Tooltips (bulle d’information) sur les différents bouttons

 

Pré-requis :

  • Exécutez XenApp_Usr7x  à partir d’un serveur Windows 2012R2/2016
  • Les snapins Citrix doivent être installé sur le serveur

Installation/Execution :

  • Décompressez le contenu de l’archive et double cliquez sur le fichier XenApp_Usr7x-V2.exe

 

 


Entrez le nom d’un Controller dans le champ DDC puis cliquez sur le bouton  (situé à droite du champ DDC)
Le bouton  permet de rajouter des Controllers afin de permettre de passer d’une ferme à une autre facilement

 

Entrez le nom de l’utilisateur recherché dans le champ Username puis cliquez sur le bouton  (situé à droite du champ Username)

 


Cliquez sur la session souhaitée afin d’afficher les informations relative à la session
Les champs encadrés en rouge sont cliquables

 

Un clique sur le bouton  permet d’afficher l’historique des sessions.

 

Un clique sur le bouton  permet d’afficher en temps réel  le RTT ICA, la latence ICA, l’Input/Output bandwith used.

 

Un clique sur le bouton  permet de lancer une assistance à distance sur la session.

 

Un clique sur le bouton  permet d’envoyez un message à l’utisateur au sein de la session.

 

un clique sur le bouton  permet de fermer la session.

 

Le champ server est cliquable et permet d’afficher les principales informations concernant le serveur (charge, type de serveur, cpu, ram, Ip, Os, sessions, Gpo(s), process etc..)

 

Un clique sur le bouton  du formulaire Server permet d’afficher les compteurs Cpu, Ram, Paging file used, Disk free space, Avg disc sec/read, Avg disc sec/write.

 

Le champ Delivery Group est cliquable et permet d’afficher les principales informations concernant le Delivery Group du serveur hébergeant la session (Type de DG, liste des serveurs membres du DG, liste des applications publiées dans le DG etc.. etc..).

 

Un clique sur le champ Farm name (du formulaire principale) ouvre une fenêtre affichant les principales informations concernant la ferme en cour.

 

 

Un clique sur le bouton   permet de lancer des checks sur la Database.

 

 

Vos remarques et suggestions sont comme d’habitude les bienvenues 😉 .

 

XenApp_Usr7x-V2.rar

 

Un grand merci à Etienne, Baderedine, Kamel, Frederic et Jorge pour leurs tests et retours.

0

Problème de DPI entre deux écrans

Comme vous le savez sûrement, la difference de DPI entre deux écrans lors de connection HDX n’est pas supporté par Citrix (Different zoom or DPI level in XenDesktop and XenApp).

 

Au moins c’est clair 😉

 

Bon ok ce n’est pas supporté,  mais on a une population qui utilise deux écrans de taille différante et qui joue avec des DPI différents entre les deux écrans, ce qui engendre des problèmes de scintillements sur les applications publiées.

Une solution pour contourner (voir l’article Some desktop applications may appear blurred on high-DPI displays de chez Miscrosoft) ce problème est de modifier les propriétés des binaires wfcrun32.exe et wfica32.exe (C:\Program Files (x86)\Citrix\ICA Client) afin de « désactiver la mise à l’échelle de l’affichage pour les résolutions élevées » (Disable Display Scaling On High DPI Settings).

 

Une fois « la mise à l’échelle de l’affichage pour les résolutions élevées » désactivée, nos utilisateurs n’ont plus rencontré de problème de scintillement sur les applications publiées.

 

2

Erreur dans Studio : Register upgraded Delivery Controllers

Si vous rencontrez le message d’information « Register upgraded Delivery Controllers » dans Studio (dans notre cas sur du XA 7,6), alors il se pourrait que l’un de vos DDC n’ait pas (ou n’ai plus) les permissions adéquates côté SQL.

 


 

Quand on regarde l’erreur en détail on obtient :

Error Id: XDDS:400E633A
Exception:
Citrix.Console.Models.Exceptions.PermissionDeniedException You are not authorized to perform this operation.
…………………………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………………………………………………………………………..
Set-LogDBConnection  -AdminAddress « DDC02.YourDomain.fr:80 » -DataStore « Logging » -DBConnection « Server=YourSqlServer;Initial Catalog=SiteConfigurationDatabase;Integrated
Security=True » -Force
Set-LogDBConnection : There was a problem communicating with the Citrix Delegated Administration Service.

 

En regardant directement sur le serveur SQL nous avons remarqué dans les logs que le DDC02 ne pouvait plus s’authentifier sur le serveur SQL.

Log                   SQL Server (Current – Date Time)
Source              Logon
Message
Login failed for user ‘Domain\DDC2$’. Reason: Could not find a login matching the name provided. [CLIENT: IPServer XXX.XXX.XXX.XXX]

 

Une fois le compte ordinateur rajouté dans Security-Logins sur le serveur SQL, nous n’avons plus rencontré d’erreur.

 

 

La question qui se pose est bien sûr : comment ce compte ordinateur a disparu 🙂 , nous penchons pour l’instant à un « problème » de réplication SQL Alwayson.

Si vous souhaitez des détails sur les privilèges SQL pour XD/XA nous vous conseillons la lecture de la CTX127998.

 

2

Qualys : TdIca.sys consommation excesive de cpu

Lors de vague Qualys certains de nos serveurs XenApp (W2K8 Us sp2 et Vda 7.6.1000) affichaient une consommation cpu de 100 % (une fois le scan terminé), bien sûr seul les serveurs XenApp étaient impactés par cette consommation cpu.

La consommation cpu était répartie entre deux process TdIca.sys (50 % pour chacun des process).

 


Autant vous dire que les scan Qualys ont les a senti passer 🙂

 

En redemarrant le service « Remote Desktop Services » la consomation cpu resdescendait quasi instantanément.

Après plusieurs recherches et tests nous avons constaté qu’une fois le scan terminé sur un serveur XenApp nous avions les ports  TCP 2598 et 8008 (Session Reliability et HTML5) en attente de fermeture (malheuresement nous n’avons pas eu le temps de faire un screnshoot  🙁  ).

En testant les mêmes scan Qualys avec des serveurs W2k8 sp2 Us en Vda 7.6.2000 ou 7.6.4000 nous n’avons jamais  pusreproduire le problème de consommation cpu.

Notre premier bug depuis notre migration en 7.6 LTSR il y a bientôt un an 😉 .

 

On sait pas pourquoi…  Surement le soleil du sud… Mais on a penser a Cyrix durant ce billet 🙂

 

Tags: , , ,
0

XenApp_LoadMonitor pour XenApp 7.x

Mise à jour de XenApp_LoadMonitor afin de pouvoir superviser les silos d’une ferme XenApp 7.x.

Pour ceux (et celles) qui ne connaissent pas (encore) XenApp_LoadMonitor nous vous invitons à lire le billet « Supervision de silo serveurs« ,

Une modification a été apportée sur le fichier justgage.1.0.1.min.js afin que les gauges passent en orange à partir de 50 % de load.

 

var percentColors = [« #a9d70b », »#a9d70b », »#EEA73D », « #ff0000 »];

 


Les serveurs en maintenance sont exclus du calcul de charge des silos.

 

Pour rappel le détail de chaque silo s’obtient en cliquant sur le silo correspondant.

 

XenApp_LoadMonitor_7x.rar

 

 

0

Chrome : fichier ica qui ne se lance plus avant son enregistrement

Suite à la mise à jour du navigateur chrome en version 57.0.2987.133, certains utilisateurs ne pouvaient plus lancer d’applications publiées où de bureau sans avoir au préalable enregistré le fichier ica (une fois le fichier ica enregistré ce dernier se lançait automatiquement).

 

 

Outre le message d’avertissement ci-dessous, nous remarquons que  le fichier ica est téléchargé dans le mauvais dossier.

 

Certaines fonctionnalités de la bibliothèque ne sont pas disponibles car des emplacements ne sont pas pris en charge

 

Some library features are unavailable due to unsupported library locations

 

 

Direction le menu de Chrome, Paramètre-Afficher les paramètres avancé.. – Téléchargement.


Une fois le chemin modifié vers le bon dossier, les fichiers ica étaient lancés sans problème

 

 

 

 

Tags: , ,
2

Lenteur ouverture de session : Please wait the for Local Session Manager

Suite à la migration d’un silo d’une ferme Xa 6.5 R06 vers un silo d’une ferme XA 7.6 (LTSR, Vda 7.1000) nous avons constaté (enfin nous et les utilisateurs) des lenteurs au logon des utilisateurs (lenteurs qui n’existaient pas avant en Xa6.5 et qui ne sont pas apparus lors de la migration de la qualif).

Lors du lancement des applications, les utilisateurs restaient bloqués pendant 30 secondes sur le message « Please wait for the local session Manager », et comme on avait déjà rencontré le problème, cette fois nous en avons profité pour faire un billet 😉 .

 


Allô le support informatique, oui votre migration c’est pas mal mais vous livrez le café pendant l’authentification ?

 

Afin de retrouver des temps de logon acceptable il faut (dans notre cas) ajouter deux clés dans la base de registre (HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\GroupPolicy) de chaque serveurs XenApp :

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\GroupPolicy]

« CacheGpoExpireInHours »=dword:00000005

« GpoCacheEnabled »=dword:00000001

 

Redémarrez le service « Citrix Group Policy Engine (merci Fred pour la remarque).

Une fois les deux valeurs ajoutées, les temps de logon sont redescendus sous la barre des 30 secondes.


A l’époque les migration étaient plus faciles 🙂

 

 

 

 

2

XenApp_Usr7x V1.15

Après les œufs au chocolat nous avons opté pour quelque chose de moins calorifique…… une mise à jour de XenApp_Usr7x (qui passe en 1.15) afin de laisser notre estomac tranquille :), la liste des ajouts et corrections sont listés ci-dessous :

 

  • Possibilité de rajouter plusieurs DDC (un DDC par ligne) via le menu « Tools-Modify DDC » afin de pouvoir passer d’une ferme à une autre sans relancer XenApp_Usr7x (afin de prendre en compte la mise à jour des DDC il faut aller dans le Menu « Tools-Refresh DDC »)
  • Détection de l’OS sur lequel est lancé XenApp_Usr7x (Windows 2012 mini)
  • Les actions d’activation/désactivation d’application et de mise en maintenance de serveur sont désormais enregistrées dans la base de loging
  • Le type de licence Citrix et leur nombre sont disponibles dans le formulaire « Farm Info »
  • Un test de ping est réalisé sur chaque serveur appeler via le formulaire « Server », le résultat du ping est affiché dans le formulaire « Server »
  • La liste des utilisateurs connectés sur un serveur est disponible dans le formulaire « Server »
  • Export des Applications et Serveurs au format csv via le menu « Tools-Export »
    – L’export des applications comprend les items :  ApplicationName, PublishedName, BrowserName, Name, AdminFolderName, ClientFolder, CommandLineExecutable, CommandLineArguments, Description, Enabled, Visible
    – L’export des serveurs comprend les items : DNSName, Name, MachineName, DesktopGroupName, CatalogName, FunctionalLevel, IPAddress , OSType, RegistrationState, ZoneName

 

Le test de « ping » a un timeout de 500 ms (logiquement en ça passe sinon y a un blem 😉 )



Un clic sur le bouton « Licence Inventory » permettra l’affichage des licences présentes sur le serveur de licence Citrix ainsi que leur consommation


Désormais vous pouvez via le menu « Tools-Modify DDC » rajouter autant de DDC (un par ligne) que vous le souhaitez (un DDC par ferme par exemple afin de passer d’une ferme à une autre rapidement), une fois les DDC rentrés il faudra faire un « Refresh DDC » afin qu’ils soient pris en compte dans XenApp_Usr7x.


 

Certains admins vont être content, vous pouvez désormais exporter rapidement et simplement vos applications et serveurs d’une ferme (et de plusieurs si vous avez rentré plusieurs DDC 😉 ) au format CSV.

 

 

XenApp_Usr_7X .rar

 

Le billet original est par ici.

 

A venir :

  • Ajout de l’affichage cpu/mémoire/disque sur les serveurs et au niveau des Delivery Group (afin de permettre rapidement de comparer le silo sur ces éléments)
  • Ajout de l’affichage du détail des valeurs du load evaluator du serveur dans le formulaire « Server »
  • Liste des utilisateurs sur les Delivery Group
  • Liste de process lancés sur un serveur (et possibilité de les killer)
  • Manuel d’utilisation au format pdf (english version only)
2

Vérifier la validité d’un certificat SSL

Récemment nous avons constaté qu’on ne monitorait pas la validité des certificats SSL de nos StoreFront et Netscaler/F5)  (on avait juste des alertes émanant des collègues de la sécu).

Un script PowerShell plus loin c’est chose faite 🙂 :

 


Les certificats ayant une date d’expiration inférieur à 30 jours apparaissent en warning 😉



Dans un prochain billet nous vous indiquerons comment remonter ces valeurs facilement dans Zabbix via un agent actif.

 

Pour utiliser le script il faut au préalable modifier ce dernier en ligne 2 afin de rentrer les urls à checker (si vous souhaitez modifiez le seuil d’alerte des 30 jours, modifiez la valeur « 30 » en ligne  33 du script.

 



CheckSslExp.ps1


Pour notre script nous nous sommes inspiré du post « How to read Certificates and CRLs using PowerShell » de nos collègues de NETWORKWORLD.