Citrix Studio – Machine en Power State « Unknown »

Synopsis

Suite à une migration de VMs XenApp sur un nouveau cluster dans le même vCenter, je me suis retrouvé avec le Power State en Unknown au niveau du Citrix Studio.

Déjà esthétiquement ça me plaisait pas mais il devient surtout impossible de dialoguer depuis le Studio avec les machines XenApp, non seulement les équipes opérationnelles ne peuvent plus manager facilement la farm mais en plus les scripts de reboot deviennent inutiles et ça c’est pas cool…

Problème/Solution

Le problème vient du fait que la VM a un ID qui ne correspond plus à celui renseigné dans la DB utilisée par la ferme Citrix.
La solution consiste donc à trouver le nouvel ID, l’intégrer à la DB puis redémarrer les services Citrix pour qu’ils prennent en compte la modification.

  • Ouvrir un Powershell (as Administrator) sur un DDC
asnp Citrix*
$ErrorActionPreference=Continue
$DskPath=[Environment]::GetFolderPath("Desktop")
Get-ChildItem -Path XdHyp:\ -force -recurse | ?{ $_.IsMachine } | Out-File –Filepath $DskPath\xdhyp.txt
  • Ouvrir le fichier TXT crée précédemment, faire un recherche (Ctrl + F) du nom du XA (Name) et copier son Id
PSPath : Citrix.Host.Admin.V1\Citrix.Hypervisor::XDHyp:\Connections\XenServer\PVS0003.vm
PSParentPath : Citrix.Host.Admin.V1\Citrix.Hypervisor::XDHyp:\Connections\XenServer
PSChildName : PVS0003.vm
PSDrive : XDHyp
PSProvider : Citrix.Host.Admin.V1\Citrix.Hypervisor
PSIsContainer : True
Name : PVS0003
FullName : PVS0003.vm
ObjectType : Vm
Id : 7d1d6004-5319-7a7e-59cb-2662e212a3e5
IsContainer : True
IsMachine : True
IsSnapshotable : True
ObjectPath : /PVS0003.vm
FullPath : XDHyp:\Connections\XenServer\PVS0003.vm
IsSymLink : False
AdditionalData : {}
  • (Facultatif) Il est possible de connaître l’Id actuellement enregistré
Get-BrokerMachine -PowerState Unknown
  • Entrer la commande avec le MachineName (ex. Domain\PVS0003) et l’Id du fichier TXT
Set-BrokerMachine -MachineName 'MyDomain\MyMachine' -HostedMachineId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Mettre en Maintenance Mode (Monitoring)
  • Redémarrer le service « Citrix Broker » sur tous les DDC

Mathieu

Je suis actuellement ingénieur spécialisé dans le design d'environnements cloud virtualisés. Adepte des technologies de VMware, Nutanix, Citrix et Microsoft je propose à travers ce blog diverses astuces de troubleshooting.

S’abonner
Notification pour
guest

2 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Mohamd
Mohamd
5 années il y a

Bonjour Mathieu,

Merci pour cette explication !
J’ai une ferme avec 2 DDC en HA, ainsi qu’une bonne dizaine de machines virtuelles XenApp, toute mes machines sont en Power State « On » sauf une en « Unknow » :'( .

J’ai fait la manipulation que tu demandes de faire mais j’ai une erreur au moment de la génération du ficher xdhyp.txt.

La voici :
Get-ChildItem : The Hypervisor connection is in Maintenance Mode
At line:1 char:1
+ Get-ChildItem -Path XdHyp:\ -force -recurse | ?{ $_.IsMachine } | Out-File –File …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-ChildItem], InvalidOperationException
+ FullyQualifiedErrorId : Citrix.XDPowerShell.HostStatus.HypervisorInMaintenanceMode,Microsoft.PowerShell.Commands
.GetChildItemCommand