Wednesday, February 20, 2019

Duplicate "ViewClient_Client_ID" Issues on VMware Horizon Clients and Multi-Session Issues

Multi-Session Issue on VMware Horizon View Due to Duplicate "ViewClient_Client_ID"


Problem: 

          When we enable the “Allow multiple sessions per user” settings in VDI Pool, a user that connect from different client devices receive different desktop sessions. To reconnect to an existing desktop session, user must use the same device from which that session initiated. If we do not enable this settings user will always reconnect to his existing desktop session, regardless of the client device that they use. 

        All client devices having randomly generated “ViewClient_Client_ID” and multi-session feature is working depending on this client id. But whenever we are using HP Thinpro (Ubuntu) Thin Clients with latest versions for Horizon Clients and capturing and deploying Thin Client images using Hp Device manager and USB flash, these is a chance of duplicating ViewClient_Client_ID in multiple client devices. When multiple devices have the same client_ids, it causes the first session to disconnect when trying to connect from the second device. 

Symptoms:


     Whenever VDI user trying to login to multiple sessions using same User ID, first session may disconnect with error "The connection to the remote computer has been closed due to a new connection request". The Horizon view VDI Pool will not allow user to login in multiple session even if "Allow multiple Sessions per user" option is checked.

How to verify the client id?

        Once logged in to VDI session, client_id is visible on below registry path.

HKCU\Volatile Environment\ViewClient_Client_ID

        Also we can find client id by executing “SET” command from VDI session.

Solution:

         The client_id is randomly generating and saving by a client while connecting to the VDI session first time. To avoid duplicate client_ids, first we have to do factory reset the image, then install required Horizon version and do all customization, but don’t login to VDI session before capturing the image. Deploy the captured images to the VDI clients which image have blank client_id. All deployed devices will randomly generate different client_id while first login.