Virtual Desktop Agent unregistered in XenDesktop

While setting up my XenDesktop lab environment I came across the regular errors. One of those errors was that my Windows 7 machine wasn’t registering with the Dedicated Desktop Controller (DDC). I had used a vanilla (clean) install of Windows 7 fully patched and installed in a workgroup. When setting up the catalog in XenDesktop studio I selected the vanilla Windows 7 image. I forgot that the Windows 7 machine was still in a workgroup (and not joined to my domain Embarrassed smile). When I deployed the machines and tried to connect to the VM through the Web Interface I got the following screen:

xd55-connecting

On the DDC I saw this in the Desktop Studio console.

xd55-vda-unregistered

 

These are the steps I’ve taken to resolve issue:

1. Joined Windows 7 machine to domain

2. Installed VDA agent on Windows 7 VM

On the Windows 7 machine I saw this error after installing the VDA agent.

xd55-vda-error

3. Edited registry and added “ListOfDDCs” as a String Value in key:

HKLMSoftwarePoliciesCitrixVirtualDesktopAgentListOfDDCs

If you are using the 64 bit version of Windows 7 (which I am) you need to add/edit the following registry key as a String Value:

HKLMSoftwareWow6432NodeCitrixVirtualDesktopAgentListOfDDCs

If you don’t add/edit this key then you’re still stuck with the error of showing the VM as “unregistered” in the Desktop Studio console.

After adding the “ListOfDDCs”key in the registry and restarting the Citrix Desktop Agent on the Windows 7 VM I saw this in the event viewer:

xd55-vda-error-resolved

After this the VM in the Desktop Studio console still showed as “unregistered”.

4. I downloaded the tool XDPing from the Citrix knowledgebase site. When I ran this tool I got the following result:

XDping

The full results are shown down here:

XDPing 2.1.1.0
Created by Citrix Systems Engineering and Escalation teams.
Help us improve this tool by providing feedback through http://twitter.com/CitrixEscEMEA.

Checking version : You are using the latest version.

——————————————————————–
Local Machine::

NetBIOS Name = CTX-XD55003
OS Version = Microsoft Windows NT 6.1.7601 Service Pack 1
Platform = X64 Platform

Computer Domain: CTXTST.local
Role = Member Workstation
Membership = Verified, SID:S-1-5-21-1535110337-3217576987-886410533-1121 [OK]

——————————————————————–
User::

User Name = administrator
User Domain = CTXTST
Authentication = Kerberos [OK]
Groups:
CTXTSTDomain Users
Everyone
BUILTINUsers
BUILTINAdministrators
NT AUTHORITYINTERACTIVE
CONSOLE LOGON
NT AUTHORITYAuthenticated Users
NT AUTHORITYThis Organization
LOCAL
CTXTSTDomain Admins
CTXTSTGroup Policy Creator Owners
CTXTSTEnterprise Admins
CTXTSTSchema Admins
CTXTSTDenied RODC Password Replication Group

——————————————————————–
Local Machine Time::

UTC = 1-4-2012 11:52:14
Local = 1-4-2012 13:52:14 (W. Europe Daylight Time)
DST = Yes
NtpServer = time.windows.com,0x9

——————————————————————–
Domain Controller(s) Time::

Date/Time from CTXTST.local : 1-4-2012 13:52:15 : Time difference (mins): 0 [OK]

——————————————————————–
Network Interfaces::

NIC #0 "Local Area Connection":
Network = Ethernet, 1Gb/s, Up
MAC = 8E:F3:25:49:68:99
DNS suffix = CTXTST.local
DNS servers = 192.168.1.201
Gateways = 192.168.1.201
DHCP server = 192.168.1.201
Address #0 = fe80::390d:2cad:fc18:c3df%16/0.0.0.0, Preferred, Origin=WellKnown/LinkLayerAddress
Lease = 552/4294967295/4294967295
Address #1 = 192.168.1.46/255.255.255.0, Preferred, Origin=Dhcp/OriginDhcp
Lease = 86401/85876/85876

NIC #1 "Loopback Pseudo-Interface 1", Loopback:
Network = Loopback, 1073Mb/s, Up
DNS servers = fec0:0:0:ffff::1%1 fec0:0:0:ffff::2%1 fec0:0:0:ffff::3%1
Address #0 = ::1/0.0.0.0, Preferred, Origin=WellKnown/LinkLayerAddress
Lease = 556/4294967295/4294967295
Address #1 = 127.0.0.1/, Preferred, Origin=WellKnown/WellKnown
Lease = 556/4294967295/4294967295

NIC #2 "isatap.CTXTST.local":
Network = Tunnel, 0Gb/s, Down
MAC = 00:00:00:00:00:00:00:E0
DNS suffix = CTXTST.local
DNS servers = 192.168.1.201
Address #0 = fe80::5efe:192.168.1.46%13/0.0.0.0, Deprecated, Origin=WellKnown/LinkLayerAddress
Lease = 508/4294967295/4294967295

NIC #3 "Teredo Tunneling Pseudo-Interface":
Network = Tunnel, 0Gb/s, Down
MAC = 00:00:00:00:00:00:00:E0
Address #0 = fe80::100:7f:fffe%15/0.0.0.0, Deprecated, Origin=WellKnown/LinkLayerAddress
Lease = 543/4294967295/4294967295

——————————————————————–
WCF Endpoints: WorkstationAgent::
C:Program Files (x86)CitrixVirtual Desktop AgentWorkstationAgent.exe
Version Number :5.5.0.230

XenDesktop version 5.5
wsHttpBinding:
Citrix.Cds.Protocol.Worker.ILaunch:
http://localhost/Citrix/VirtualDesktopAgent/ILaunch:
Ping Service: /Citrix/VirtualDesktopAgent/ILaunch
Connect = Tcp to ::1:80 via ::1 ("Loopback Pseudo-Interface 1") [OK]
Service = Listening [OK]
wsHttpBinding:
Citrix.Cds.Protocol.Worker.IDynamicDataQuery:
http://localhost/Citrix/VirtualDesktopAgent/IDynamicDataQuery:
Ping Service: /Citrix/VirtualDesktopAgent/IDynamicDataQuery
Connect = Tcp to ::1:80 via ::1 ("Loopback Pseudo-Interface 1") [OK]
Service = Listening [OK]
wsHttpBinding:
Citrix.Cds.Protocol.Worker.IConfiguration:
http://localhost/Citrix/VirtualDesktopAgent/IConfiguration:
Ping Service: /Citrix/VirtualDesktopAgent/IConfiguration
Connect = Tcp to ::1:80 via ::1 ("Loopback Pseudo-Interface 1") [OK]
Service = Listening [OK]
wsHttpBinding:
Citrix.Cds.Protocol.Worker.ISessionManager:
http://localhost/Citrix/VirtualDesktopAgent/ISessionManager:
Ping Service: /Citrix/VirtualDesktopAgent/ISessionManager
Connect = Tcp to ::1:80 via ::1 ("Loopback Pseudo-Interface 1") [OK]
Service = Listening [OK]
netNamedPipeBinding:
Citrix.Cds.StackManager.IStackManager:
net.pipe://localhost/CitrixIStackManagerEndPoint:
Endpoint -> not Tested – net.pipe://localhost/CitrixIStackManagerEndPoint
[OK]
netNamedPipeBinding:
Citrix.Cds.WorkstationAgent.IHDXConnect:
net.pipe://localhost/Citrix/HDXConnect:
Endpoint -> not Tested – net.pipe://localhost/Citrix/HDXConnect
[OK]

——————————————————————–
Workstation Services::

Service : WorkstationAgent ("Citrix Desktop Service")
Status = Win32OwnProcess, Running [OK]
Prereq =
LanmanServer (Win32ShareProcess), Running
PorticaService (Win32OwnProcess), Running
LanmanWorkstation (Win32ShareProcess), Running

Service : PorticaService ("Citrix ICA Service")
Status = Win32OwnProcess, Running [OK]
Prereq =
picapar (FileSystemDriver), Running
picakbm (KernelDriver), Running
picadm (FileSystemDriver), Running
dhcp (Win32ShareProcess), Running
picaser (FileSystemDriver), Running
picadd (KernelDriver), Running
rpcss (Win32ShareProcess), Running

Service : Citrix Encryption Service ("Citrix Encryption Service")
Status = Win32OwnProcess, Running [OK]
Prereq =
Winmgmt (Win32ShareProcess), Running

Service : cpsvc ("Citrix Print Manager Service")
Status = Win32OwnProcess, Running [OK]
Prereq =
Spooler (Win32OwnProcess, InteractiveProcess), Running
PorticaService (Win32OwnProcess), Running
RpcSs (Win32ShareProcess), Running

——————————————————————–
DNS Lookups for Local Machine::

Host Name : CTX-XD55003.CTXTST.local
Address #0 = fe80::390d:2cad:fc18:c3df%16 (rDNS: CTX-XD55003.CTXTST.local) [OK]
Address #1 = 192.168.1.46 (rDNS: CTX-XD55003.CTXTST.local) [OK]

——————————————————————–
Client Details::
(Session ID) (Status) (Name) (Client IP Address):

No user session detected
——————————————————————–
Event Log Check::
A number of importent errors/warning(3) have been logged into the event log in the last hour, please check the logs for more details

——————————————————————–
Windows Firewall Settings::

Status : Enabled

Advanced Firewall: True
——————————————————————–
Check Firwall Rules::
Citrix XTE Service port : 2598 = DISABLE

Citrix ICA Service port : 1494 = DISABLE

Citrix Desktop Service port : 80 = DISABLE

Service port disabled for Firewall [ERROR]

Current Profile name : Domain
——————————————————————–
XenDesktop Farm::

Farm GUID (GPO) : Not Set
Farm GUID (local) : NOT SET
Farm GUID In Use : NOT SET
——————————————————————–
Registry Based Configurations::

Registry based Controller list (ListOfDDCs) : [Configured]
Controller : CTX-XD55.CTXTST.local
——————————————————————–
Controllers (manually specified)::

Controller: CTX-XD55.CTXTST.local:80
DNS Lookup(CTX-XD55.CTXTST.local):
Host Name = CTX-XD55.CTXTST.local
Address #0 = 192.168.1.204 (rDNS: CTX-XD55.CTXTST.local) [OK]
Ping Service: /Citrix/CdsController/IRegistrar
Connect = Tcp to 192.168.1.204:80 via 192.168.1.46 ("Local Area Connection") [OK]
Service = Listening [OK]

ListOfDDC is set in the registry to enurmerate DDC list [OK]

——————————————————————–
Summary::

Checking version : You are using the latest version. [OK]
A number of importent errors/warning(3) have been logged into the event log in the last hour, please check the logs for more details [WARNING]
Service port disabled for Firewall [ERROR]

Number of messages reported = 3

After adding the ports to the firewall policy I ran XDPing again and got this back Open-mouthed smile:

xdping-succes

After looking in the Desktop Studio console I saw that the VM was “Registered”.

xd55-registered

I logged on to the Web Interface and I could start and logon to my VM.

VDA

So far my first issues with XenDesktop 5.5.

I’ll keep you posted with my issues and progress on my quest on knowledge for all the Citrix products.

As a reference I used the following Citrix article CTX117248, CTX126992, CTX123278.

5 thoughts on “Virtual Desktop Agent unregistered in XenDesktop”

  1. additionally ….

    In Citrix XenDesktop 7.x there has been a change that DNS alias isn’t allowed anymore. See article http://support.citrix.com/article/CTX137960 for more information.
    The CNAME lookups have been disabled to enforce a tighter security model in XenDesktop 7.

    CNAME can be re-enabled by the following registry setting:

    32-bit and 64-bit:

    Registry Key: HKEY_LOCAL_MACHINESOFTWARECitrixVirtualDesktopAgent
    Name: UseCnameLookup
    Type: REG_DWORD
    Value: 1
    (1 = enabled)

    For a proper registration of the workplace the following registry setting has to be added to the client also:

    32-bit:
    Registry Key: HKEY_LOCAL_MACHINESoftwareCitrixVirtualDesktopAgent
    Name: ListOfDDCs
    Type: REG_SZ
    Value: deliverycontrollerA deliverycontrollerB

    64-bit:
    Registry Key: HKEY_LOCAL_MACHINESoftwareWow6432NodeCitrixVirtualDesktopAgent
    Name: ListOfDDCs
    Type: REG_SZ
    Value: deliverycontrollerA deliverycontrollerB

    After adjustment the registration in XenDesktop works fine 😉

    In total my reg-file looks like:

    Windows Registry Editor Version 5.00
    ; Fix to register VDA on XenDesktop 7.5
    ; http://support.citrix.com/article/CTX137960

    [HKEY_LOCAL_MACHINESOFTWARECitrixVirtualDesktopAgent]
    “UseCnameLookup”=dword:00000001
    “ListOfDDCs”=”deliverycontrollerA.domain.org deliverycontrollerA.domain.org”

    [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCitrixVirtualDesktopAgent]
    “UseCnameLookup”=dword:00000001
    “ListOfDDCs”=”deliverycontrollerA.domain.org deliverycontrollerA.domain.org”

    Remark:
    On 64-bit environments in XenDesktop 5.6, the setting ListOfDDCs was needed in HKEY_LOCAL_MACHINESOFTWAREWow6432Node…

    On 64-bit environments in XenDesktop 7.5, the setting ListOfDDCs and UseCnameLookup is only needed in HKEY_LOCAL_MACHINESOFTWARE…
    The Wow6432Node supplement seems no longer to be necessary in a XenDesktop 7.5 environment. To be sure I add them under both.

    Bonus:

    Sometimes the logon to a XenDesktop 7.x published desktop may take long and a black screen may be visualized.
    The causes are not very clear but article http://support.citrix.com/article/CTX135782 describes the steps required to modify a registry setting on a XenApp server that will help you reduce logon times. This setting is also useful in a XenDesktop environment.

    HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCitrixLogon
    Name: DisableStatus
    Type: REG_DWORD
    Value: 00000001

    In total my reg-file looks like:

    Windows Registry Editor Version 5.00
    ; Fix Slow logon and black screen on XenDesktop 7.x
    ; http://support.citrix.com/article/CTX135782

    [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCitrixLogon]
    “DisableStatus”=dword:00000001

  2. When you say “Firewall Policy” do you mean on the VM that you are trying to share or the DDC policy?

    Thanks.

  3. Hi

    I have the same issue. The strange thing is that the VDI’s have state ‘Ready’ until a user is connecting. When the user is trying to connect, the state is changed to ‘Unregistered’ with the error 1015 (The Citrix Desktop Service’s connection to the Citrix Desktop Delivery Controller Service was terminated. The Citrix Desktop Delivery Controller Service is running on server ”.

    Check that there is no active firewall blocking the controller communicating with this machine.

    Please refer to Citrix Knowledge Base article CTX117248 for further information.

    Error details:
    Keep-alive request was rejected.
    )

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.