How to query the Horizon Client version remotely

I already feel that this is the most serious post ever. Most of my posts have (what I call) clever titles. I couldn’t think of anything good, and wanted to make sure that this title got across what is happening here. This all stemmed from a VMTN post I saw here.

The poster had roughly 1000 remote VDI users, in a scenario where they didn’t have the ability to manage the local hosts that were being utilized to access the VDI environment. They wanted a way to query the remote host to find the Horizon Client version. This is to make sure that each one is using the same client version. This can be important to manage the user experience. You don’t want really old clients out there causing problems, or possibly be missing features. Now, you are pretty limited without access to the local system. Now, scripting a pull of 1000 clients isn’t my forte, but I figured maybe I could at least help advise where to find the info. My thought was that the Horizon Agent logs may have something in the connection string. There was nothing of value in the Agent logs. Shout out to @jshiplett for the assist. He pointed me in the direction of the PCoIP logs (Which are located on the VDI, not the host machine). This was the ticket.

PCoIP Log Location : DriveLetter:\ProgramData\VMware\VDM\logs

Note: This only works if you utilize PCoIP as the connection method. If you use RDP, this log will not update.

I fired up my VDI, and connected in with PCoIP. My host machine is a Mac running the Horizon 3.2 Client. I knew I’d be looking for a string or series of entries that included “Mac” or “Apple” as that would be the logging of my client info. I found the following series of strings:



You’ll see a full rundown of client info in this connection strings. It shows my host OS (Mac OS X), OS bits (64), Processor Architecture (x86), and…oh look… PCoIP Version… How about that. Now, I know the PCoIP version isn’t exactly 1:1 with the client version (It’s pretty close), but matching the PCoIP software versions would help you to regulate your client versions.

Now, I realize this doesn’t completely solve the posters problem. He’ll need to find a way to script a log pull of all that mess, and get it formatted. This is something that I can not even begin to get into yet. Don’t worry… I’m working on PowerCLI… I swear…

Alright kids, it’s time for me to get back to the VMworld 2015 festivities. Take it easy!