Synopsis
Suite à la migration de plusieurs serveurs XenApp sur une nouvelle ferme Citrix je me suis retrouvé avec le status Unregistered, en gros le VDA et les Brokers ne communiquent pas correctement.
Pour forcer les nouveaux brokers j’ai utilisé la GPO pour propager les clés de registre de la liste des DDCs…
HKLM\SOFTWARE\Citrix\VirtualDesktopAgent (x86)
HKLM\SOFTWARE\Wow6432Node\Citrix\VirtualDesktopAgent (x64)
ListOfDDCs (REG_SZ) => <Broker1> <Broker2>
… ce qui n’a pas fonctionné !
On va checker…
- Le premier réflexe est de vérifier la règle firewall symétrique du port 80 (CTX101810)
telnet <Broker_IP> 80 telnet <XenApp_IP> 80
- Puis de vérifier avec un XDPing ou Citrix Health Assistant qui sont de très bon outils de troubleshoot du VDA.
Bien sur à ce moment la j’avais tout au vert dans XDPing/CHA, bien configuré les clés de registre et les firewall … et c’était toujours Unregistered. L’outil final reste l’Event Viewer, aucune erreur mais des informations pour me dire qu’il est bien enregistré sur le Broker, mais pas le bon… il utilise toujours l’ancienne ferme.
LA solution !
Après avoir fait le tour du registre pour nettoyer l’ancienne ferme, réinstallé le VDA, m’être arraché les cheveux avant de vouloir tout claquer pour réinstaller les XA, j’ai fait le tour des fichiers de configuration et je suis tombé sur le fichier « SavedListOfDdcsSids ».
Donc en gros une fois le VDA configuré correctement avec le wizard, Citrix a créer une clé de registre pour « aider » le VDA à trouver ses Brokers mais pas plus, en cas de changement après la première configuration elle est bypassée et le VDA se focalise sur les SIDs présents dans ce fichier et même pas ceux du wizard après réinstallation (logique quand tu nous tiens).
- Voila donc LA solution sous forme de script pour que la configuration et/ou la clé de registre soit prise en compte par le VDA ! Parce que oui le fichier est dans un folder accessible seulement par le SYSTEM, il faut donc s’ajouter les droits, renommer ou supprimer le fichier .xml et redémarrer le service BrokerAgent.
gpupdate /force net stop BrokerAgent takeown /f "C:\ProgramData\Citrix\PvsAgent\LocallyPersistedData" CACLS "C:\ProgramData\Citrix\PvsAgent\LocallyPersistedData" /E /G "<Domain\Username>":F takeown /f "C:\ProgramData\Citrix\PvsAgent\LocallyPersistedData\BrokerAgentInfo" CACLS "C:\ProgramData\Citrix\PvsAgent\LocallyPersistedData\BrokerAgentInfo" /E /G "<Domain\Username>":F takeown /f "C:\ProgramData\Citrix\PvsAgent\LocallyPersistedData\BrokerAgentInfo\SavedListOfDdcsSids.xml" CACLS "C:\ProgramData\Citrix\PvsAgent\LocallyPersistedData\BrokerAgentInfo\SavedListOfDdcsSids.xml" /E /G "<Domain\Username>":F REN "C:\ProgramData\Citrix\PvsAgent\LocallyPersistedData\BrokerAgentInfo\SavedListOfDdcsSids.xml" "SavedListOfDdcsSids.xml.old" net start BrokerAgent