VMware Horizon Community
txfree2
Enthusiast
Enthusiast

what OS is connecting to my VDI environment?

Is there away to tell what OS devices are connecting to a person's vdi environment? I need to know what devices are connecting we want a count of all the non-window os computers connecting to vdi. using the HTML or the horizon client either one.

We have a software call Stratusphere would that do it? we haven't used it much yet I am going to look at that today I just wanted to post the question out there.

Horizon 7.6 enterprise

Thanks.

Tyson

Tags (3)
9 Replies
Shreyskar
VMware Employee
VMware Employee

Hi

You can view this information in new admin HTML5 based console. Below are the steps:

> Login to horizon 7 admin page and click on the 'Horizon console' link on right-top of the page. This will load the new admin page.

Alternatively you can also navigate to https://<connection-server-FQDN>/newadmin

> In the search bar, search for the username that you want to check for if he is connected using soft client or browser:

pastedImage_0.png

> Click on the user and you will see something like this:

pastedImage_1.png

> Now finally click on computer name and you can see client IP and client OS whether it is connected using windows based client Or HTML client:

465095_465095.pngpastedImage_3.png

Please mark it as helpful/answered if this helps you.

DEMdev
VMware Employee
VMware Employee

Hi Tyson,

If you want to programmatically collect this information (rather than interactively checking it as described by Shreyskar) you can use the ViewClient_Type registry value in key HKCU\Volatile Environment.

nettech1
Expert
Expert

txfree2

If you have Stratusphere, that would be your best bet. Navigate to Inspectors - >Remote Display and enable Remote Machine info to get the remote client OS type

pastedImage_0.png

RoderikdeBlock
Enthusiast
Enthusiast

U could also do this using PowerCLI:

First connect to your Horizon Environment:

Connect-HVServer <yourserver>

Then you could do something like this:

$ViewAPI = $global:DefaultHVServers[0].ExtensionData

$query_service = New-Object "Vmware.Hv.QueryServiceService"

$query = New-Object "Vmware.Hv.QueryDefinition"

$query.queryEntityType = 'SessionLocalSummaryView'

$Sessions = $query_service.QueryService_Query($ViewAPI,$query)

$NonWindowsClients = $Sessions.Results.namesdata | ? {$_.ClientType -notlike "Windows"}

$NonWindowsClients.count

    Roderik de Block


    Blog: https://roderikdeblock.com
    txfree2
    Enthusiast
    Enthusiast

    This is what I see. thank you for your help.

    pastedImage_1.png

    Reply
    0 Kudos
    txfree2
    Enthusiast
    Enthusiast

    can you give me a bit more info on that, that seems like it might work. we have hundreds of student's connecting the the VDI. and to look at each one personally is not really practical, so to run a report is the best way to go. Thanks.

    Reply
    0 Kudos
    txfree2
    Enthusiast
    Enthusiast

    @ RoderikdeBlock

    Thank you for your reply not for sure how to do all that but I will work on scripting something up like that. where would I connect to just one of  my ConnectionBrokers? or to the database?

    Reply
    0 Kudos
    RoderikdeBlock
    Enthusiast
    Enthusiast

    The first step is to connect to Connection broker using the Connect-HVServer cmdlet.

    You can run this using PowerCLI on the Connection Broker or install the PowerCLI Modules on a remote server.

    For more info about using PowerCLI in Horizon environments you can take a look at this site. He posts a lot about this subject.

    https://www.retouw.nl/powercli/pulling-horizon-session-information-using-powercli/

    Roderik de Block


    Blog: https://roderikdeblock.com
    DEMdev
    VMware Employee
    VMware Employee

    Hi Tyson,

    Sure. The registry info I provided actually corresponds with an environment variable, so that's probably the easiest approach.

    You can create a simple batch file like this (adjusting the LogFile location to your liking, obviously Smiley Happy):

    @echo off

    setlocal

    set LogFile=C:\Flex\ClientType\%username%.log

    echo %DATE% %TIME%: %USERNAME% logged on to %COMPUTERNAME% with Horizon client type '%ViewClient_Type%' >> "%LogFile%"

    This results in log lines like the following:

    Tue 06/09/2020 22:09:39.54: testuser logged on to 2012R2 with Horizon client type 'Windows'

    If you launch this from a shortcut in the Startup folder, for instance, this information will be logged whenever a user logs on.