About Author: ctxblog

Website
http://www.ctxblog.fr

Posts by ctxblog

0

Application probing

Apparue dans XenApp/XenDesktop 7.18 (ça c’était avant le renommage en Citrix Virtual App), l’Application probing permet d’automatiser le lancement d’application dans le but de vérifier leur bon lancement. Une fois installée et configurée, le résultat est directement disponible dans Director.

L’installation et la configuration sont très simples et rapides :

  • Télécharger l’agent Probe : https://www.citrix.com/downloads/citrix-virtual-apps-and-desktops/components/app-probe-agent.html
  • Installer l’agent Probe (CitrixAppProbeAgent.msi) sur un OS de type windows avec un receiver 4.8 minimum (he oui pas de MacOs ou Linux)
  • Configurer l’agent probe (il faut un Delivery Controller 7.18 minimum)
  • Création d’une analyse

On va passer l’étape d’installation et configuration car elles sont dejà très bien documentées chez Citrix et Carl Stalhood.

Maintenant que tout est installé et configuré nous pouvons passer à l’étape de la création d’une analyse. Allez dans Director, cliquez sur l’icone Configuration puis cliquez sur le bouton “Création d’une analyse” (Create Probe).

 

Une fois les champs renseignés cliquez sur le bouton Enregistrer

 

En conclusion un bon outil qui devrait évoluer au fil des versions de Citrix Virtual Apps, nous avons listé ci-dessous la liste des points forts et points faibles d’Application Probing.

 

Points forts :

  • Installation et configuration rapide
  • Intégration dans Director
  • Monitoring d’application publiée

 

Points faibles :

  • la partie planification des analyses, en effet on ne peut programmer une analyse qu’une fois par jour. Certains d’entre vous se voient dejà créer plusieurs analyses pour une application et les lancer à différentes heures, oui mais attention car dans les bests practice Citrix ci-dessous tout n’est pas possible (pour l’instant)

  • L’envoi d’alerte uniquement par mail
  • Rétention de 7 jours maximum (seulement) dans Director

 

 

 

Tags: ,
0

StoreFront erreur : Cannot complete your request

Si vous rencontrez un jour l’erreur “Cannot complete your request” après l’étape du login dans un StoreFront, on vous invite à vérifier que le certificat présent dans vos StoreFront est bien valide et surtout que le “Chemin d’accès de certification” est complet et sans erreur 😉 .

 

 

Dans notre cas ce qui nous a mis sur la piste du certificat est l’event ID 17 présent sur les StoreFront) :

 

Log Name: Citrix Delivery Services
Source: Citrix Receiver for Web
Event ID: 17
Description:
Failed to run discovery
Citrix.Web.DeliveryServicesProxy.ConfigLoader.DiscoveryServiceException, ReceiverWebConfigLoader, Version=3.15.0.0, Culture=neutral, PublicKeyToken=null
An error occurred while contacting the Discovery Service

System.Net.WebException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Url: https://127.0.0.1/Citrix/UT09/discovery
ExceptionStatus: TrustFailure

 

Au moins c’est clair 🙂 .

 

Dans le cas présent c’est une suite de problèmes sur la PKI (dont un mémorable rennomage…..) qui a généré un certifcat assez roccambolesque lors du renouvellement du certificat des StoreFront.

 

Une fois la PKI et les certificats restaurés tout est revenu à la normale.

Nous sommes partagés par regarder Gaston Lagaff ou faire un Cludeo.

 


Ok pour le Cluedo, on veut trouver le coupable 🙂

 

 

 

 

 

0

Netscaler vpx : consommation excesive de cpu dans Vcenter

Suite à la migration de Netscaler Vpx en 12.1.48.13 nous avons remarqué que ces derniers consommaient anormalement de la cpu dans Vcenter (avec des hosts en ESXi 6.0).

 

Tranquille le Vpx 🙂

 

En googlelant nous sommes tombé sur la CTX22955 qui explique que depuis la version 12.0 (vpx) le CPU yielding est désactivé.

 

Tout est dit…

 

Afin d’activer le CPU yeilding il faut vous connecter en ssh (ou console) sur votre Vpx et passer la commande ci-dessous.

 

set ns vpxparam -cpuyield YES

 

Reste à verifier que ça nous rend bien la cpu côté Hyperviseur

 


On pensait que c’était l’effet canicule mais non 🙂

Tags:
2

Netscaler : champ utilisateur/mot de passe manquant

Suite à un upgrade de netscaler 11.1 vers 12.1.4813 les champs utilisateur et mot de passe avaient disparu de la page d’accueil de la CAG (index.html).

 

Le premier qui arrive à se loguer gagne une boisson jaune 🙂

 

Dans pareille condition le mieux est d’ouvrir le developper de votre browser favori (dans notre cas c’est Chrome).

On constate que nous avons une erreur dans l’onglet Sources et deux erreurs 404 dans la console (en bas du deuxième screenshot).

 

Les erreurs 404 donnent deja un bon indice 🙂 .

 

Un clic sur une des erreurs nous renvoie dans l’onglet Network, encore un clic sur l’erreur (en bas à gauche) permet d’afficher une preview et donc le path du fichier manquant.

 

L’avantage du developper est que même sans notion de dev on arrive rapidement à trouver l’orgine d’une erreur.

 

Maintenant que nous connaissons l’origine du problème il ne reste plus qu’à aller en ssh sur un de nos netscaler dans le dossier ” /var/netscaler/logon/themes/Ctxblog/resources”.

 

Ok donc tous les fichiers de langages ont une extension .xml1 au lieu de .xml.

 

Afin de renommer tous les fichiers ayant l’exention .xml1 en .xml on passe la commande ci-dessous.

for f in *.xml1; do mv — “$f” “${f%.xml1}.xml”; done

 

Il ne reste plus qu’a vérifier que ça a bien corrigé notre problème

 

On va pouvoir retourner sur le transat 🙂

 

 

 

Tags:
0

XenApp : création d’applications en masse

Ca nous est tous arrivé un jour de se retrouver devant LA fameuse demande de création d’applications en masse (dans notre cas plus 300 applications one shoot).

En plein match de la coupe du monde, 300 applis à créer, avec 300 tickets différents bien sûr 🙂

 

Le script powershell joint à ce billet permet la création des applications “en masse”, avec les utilisateurs/groupes et l’icone associée au binaire de publication (sauf si votre chemin applicatif est un bacth, script etc..). Là où c’est pratique c’est que le script repose sur un fichier de configuration (format csv) dans lesquel vos productions applicatives vont rentrer toutes les informations nécessaires à la création des applications (sinon c’est à vous de le faire 😉 ).

En argument lors du lancement vous pouvez indiquez un Delivery Controller (exemple : Xa7x_CreateApps.ps1 MonDeliveryController), en l’absence d’argument le script considère que le serveur local est un Delivery Controller.

 


XA7x_CreateApps.zip

 

 

 

 

0

WEM : Database creation error

Lors d’un POC nous avons installé WEM 4.06 afin de montrer tous les avantages de WEM dans un environnement de type bureau publié (publish desktop), lors de la création de la base WEM nous avons rencontré l’erreur “Database creation error”.

Ca commence pas bien notre POC 🙂

 

L’avantage de WEM est que tout est logué durant l’installation, direction le fichier de log situé dans C:\Program Files (x86)\Norskale\Norskale Infrastructure Services\ Citrix WEM Database Management Utility Debug Log.log.

La lecture du fichier de log nous renseigne rapidement sur la cause du problème :

 

Exception -> DbCreateRequestExecutor.
() : System.Exception: SqlDatabaseHelper.[1]() connection Error : 5133 | Directory lookup for the file “C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\TESTDBWEM_Data.mdf” failed with the operating system error 3(The system cannot find the path….

 

En échangeant avec les DBAs on comprend que la couche SQL est installée dans un chemin spécifique, une fois le chemin d’installation dument rempli dans le wizard WEM, l’install se poursuit avant que nous rencontrions une nouvelle erreur “Database creation error”, et encore cette fois le fichier de log WEM nous donne l’origine du problème.

 

There is already a master key in the database. Please drop it before performing this statement.

 

Pour corriger cette erreur nous avons demandé aux collègues DBAs de passer la requête ci-dessous :

 

USE VotreBaseWEM;
DROP MASTER KEY;
GO

 

Une fois la requête executée l’installation s’est poursuivie sans problème.

On vous conseille aussi de jetter un oeil sur la CTX228982  https://support.citrix.com/article/CTX228982/ au cas ou 😉 .

 

 

0

Erreur installation VDA 7.15 LTSR CU1

Lors d’une mise à jour d’un VDA 7.6 LTSR vers la 7.15 CU1 (vers un VDA 7.15 LTSR CU1) nous avons recontré l’erreur ci-dessous.

 

 

 

Error Id: XDMI:1AA44929

Exception:

Citrix.MetaInstaller.Exceptions.MetaInstallerException ‘NDP452-KB2901907-x86-x64-AllOS-ENU.exe’ component failed to install with error 0x000013EC.
at Citrix.MetaInstaller.Prerequisites.DotNet452Component.Install(InstallationContext context)
at Citrix.MetaInstaller.InstallationManager.InstallComponent(IInstallableComponent component, InstallationContext installContext)

 

On va la faire courte, c’est juste un problème d’espace disque, donc rien de bien méchant, sauf que nos amis de chez Citrix pourraient faire un check d’espace disque avant l’installation d’un VDA (ou de sa mise à jour)……. ou pas 🙂

 

S’il n’y a plus de place pour installer Microsoft .NET Framework 4.5.2 on va pas aller très loin 🙂

 

 

 

 

 

 

2

XenAppUsr_7x V2.1

Enfin on s’est décidé à mettre à jour XenApp_Usr7x V2, en effet nombre d’entre vous nous ont remonté des bugs sous XenDesktop (merci encore pour vos retours).

Outre la correction de bugs nous avons rajouté les features ci-dessous et enfin un Admin Guide 🙂 .

 

  • Formulaire principal : possibilité de faire un gpupdate sur le serveur hébergeant l’utilisateur sélectionné
  • Formulaire principal : possibilité d’afficher les informations d’un process (process id, command line, creation date, executable path et le WorkingSetSize en dinamique)
  • Formulaire principal : envoi dans le clipboard de toutes les informations utilisateurs affichées
  • Formulaire principal : ajout du menu action (permettant de faire une recherche d’une Application/server/Delivery Group…)
  • Formulaire Server : lancement d’un GPUPDATE sur le serveur
  • Formulaire Server : possibilité de mettre en maintenance un serveur
  • Formulaire Delivery Group : possibilité de mettre en maintenance un Delivery Group
  • Formulaire Application : possibilité de mettre en maintenance une application
  • Admin guide au format pdf
  • Nouveau SplashScreen

 

XenApp_Usr7x-V2.1.rar

 

L’admin guide en ligne (disponible aussi dans le fichier rar) :

0

Troubleshooting for newbies (erreur upgrade VDA)

 

Dans ce billet rien de très follichon juste une erreur lors d’un upgrade de Vda 7.14.1 vers 7.15 LTSR (CU1) sur un serveur W2K16 US.

Donc il est 2:00 du mat, il est temps de matter un épisode de notre série favorite du moment et la bim un upgrade de VDA qui nous pond une erreur.

 

Encore une erreur bien parlante 🙂

 

En cliquant sur View détails on avait ça :

Error Id: XDMI:619E0143

Exception:

System.NullReferenceException Object reference not set to an instance of an object.
at Citrix.MetaInstaller.UI.Pages.Common.ViewModels.ComponentPageViewModel..ctor(MainWindowViewModel mainWindowViewModel, BaseDataModel dataModel)
at Citrix.MetaInstaller.UI.Pages.Vda.ViewModels.VdaMainWindowViewModel.CreatePages()
at Citrix.MetaInstaller.WizardFramework.MainWindowViewModel.Initialize()
at Citrix.MetaInstaller.UI.Pages.Vda.ViewModels.VdaMainWindowViewModel.Initialize()
at Citrix.MetaInstaller.MetaInstallerWpfApplication.OnStartup(StartupEventArgs e)
at System.Windows.Application.<.ctor>b__1(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run()
at Citrix.MetaInstaller.MetaInstallerApplication.Run(String[] args)
at Citrix.MetaInstaller.MetaInstallerApplication.InstallResultMain(String[] args)

 

Bon on n’est pas plus avancé, mais un reflex de Sysadmin nous est revenu en cette heure tardive, lancez l’install du Vda via un “Run as administator” et là ça passe direct.

 

On est bon pour aller matter notre série 🙂

Tags: , ,
0

XenApp 7.15 LTSR CU1 : Souris figée et problème de redimenssionnement de fenêtre

Lors de la mise en place d’un silo de serveur Windows 2016 (us) dans une ferme XenApp 7.15 LTSR CU1 nous avons rencontré un problème de souris figée lors du lancement des bureaux publiés. Lors du lancement d’un bureau publié un pointeur de souris apparaissait en plein milieu du bureau sans que nous puissions bouger ce pointeur de souris, cependant le “vrai” pointeur de notre souris lui était bien actif au sein de la session (on se retrouve donc avec deux pointeurs de souris).

 

Imaginez un utilisateur expliquer qu’il a une souris en plein millieu de son écran 🙂

 

Autre problème le redimenssionement de la fenêtre du bureau publié ne fonctionnait pas.

Le VDA installé sur les serveurs XenApp est le  7.15.1000.150 .

Après plusieurs tests le seul moyen que nous ayons trouvé pour résoudre ce problème est de désactiver le “Legacy graphic mode”.

 


 

Une fois le “Legacy graphics mode désactivé”, le bureau publié était dimensionnable et la souris figée avait disparu.

Tags: