Reporting On Non-PC Devices

Intro

Today’s workplace no longer follows a strict standard in terms of endpoint devices.  Despite the efforts of your infrastructure, network, and security teams users are connecting non-approved devices to your network and your Citrix farm.  A lot has been said about the “Consumerization of IT” and it is a reality for any Citrix administrator/engineer.  In this blog post we will explore how to find these types of devices using EdgeSight.

The Query

We will use the VW_ES_USERGROUP_ICA_USERS view for this query.  Here are the columns in this view:

image

Here is a sample of data in this view (customer specific information hidden):

image

Mobile Devices

The following query will select mobile devices that connected to your farm in the last 30 days.

SELECT CONVERT(VARCHAR,dtlast,111) AS 'Date', account_name, client_buildnum, client_productid, client_disp_horiz, client_disp_vert
FROM vw_es_usergroup_ica_users
WHERE client_name = 'mobile'
and account_name <> 'UNKNOWN'
and CONVERT(VARCHAR,dtlast,111) >= getdate() - 30
ORDER BY 'Date' DESC

Here’s a sample of the output:
image

The new Citrix Receiver sets the client name to ‘mobile’. On a PC this is typically the environment variable %COMPUTERNAME%.  To find the devices that are connecting, you can use the horizontal (client_disp_horiz) and vertical (client_disp_vert) resolutions and compare them to current resolutions of mobile devices.  I found a nice reference list here.  This can get you half-way there.  The only other way that I’ve been able to distinguish the client that is connecting are the ‘client_buildnum’ and ‘client_productid’ fields.  Unfortunately, finding an updated list of ICA/Receiver build numbers is not easyStephane Thirion at Archy.net provides a recently updated list.

Thin Clients

We can also use VW_ES_USERGROUP_ICA_USERS to report on thin client devices.  It is unlikely that thin clients will be an unapproved device on your network, but we can get some useful data on them from this view.  The following query will select thin client devices that connected to your farm in the last 30 days.

SELECT  CONVERT(VARCHAR,dtlast,111) AS 'Date', account_name, client_directory, client_version, client_buildnum, client_productid, client_disp_horiz, client_disp_vert
FROM vw_es_usergroup_ica_users
WHERE client_directory like '\%'
and account_name <> 'UNKNOWN'
and CONVERT(VARCHAR,dtlast,111) >= getdate() - 30
ORDER BY 'Date' DESC

Here’s a sample of the output:
image

If the thin client is windows-based, chances are the client_version field will give you the currently installed ICA client on the device.  You can use this information to pester the person in charge of thin client’s to update them or replace them (just kidding – but really you need to get them updated).  For this example, we examined the ‘client_directory’ column and determined that if it started with a  ‘\’, it was a thin client.  You may have to experiment with this field depending on which thin clients you have in your environment.

I hope this post has shown you how to track down non-pc devices connecting to your Citrix farm.  Once you have determined the ICA/Java client versions connecting to your farm (see the ICA Client Version report in EdgeSight!) you can modify these queries to find Java client users and Macintosh users.

As always, I welcome all comments and questions.

Thanks,
Alain

7 thoughts on “Reporting On Non-PC Devices”

  1. Hi. Great article! helped me getting control of my “in-use” thin clients 🙂 However, could please elaborate som of why you filter on “UNKNOWN” account name? Isnt the thin client still connected with a session even though it says “UNKNOWN”?

    1. Eirik,

      I filtered out UNKNOWN because, at the time, I was not able to determine what that client was. I had mobile, fat and thin clients connecting to my environment. Many of the systems had older ICA clients, so I think UNKNOWN was marked because that data was not present.

      Thanks for reading,
      Alain

  2. Hi, is it possible to expand this report to include numbers of actual logins from a thin client device and the list of users, when where etc and what they accessed Exes etc similar to environmental usage report ?

    Can this be used in edgesight itself to run a query/report or just direct in sql ?

    1. Toby,

      Of the top of my head, this would require an ad hoc SQL query and you would have to pull from several tables or views to get this data. You’ll have to combine info from a client view and ica session view.

      Thanks for reading,
      Alain

  3. Hi,, is it possible to expand the report above for thin clients.

    I am looking to see if there is a way to produce a single report which shows:

    Thin client name
    ip
    how many times device was logged onto (any user)
    Who logged on list of users
    When/what time
    What apps they accessed on published desktop like environmental usage report ?

    Any suggestions would be great and how I would run this either via sql or using a report ?

    Many thanks

    T

    1. Toby,

      Of the top of my head, this would require an ad hoc SQL query and you would have to pull from several tables or views to get this data. You’ll have to combine info from a client view and ica session view.

      Thanks for reading,
      Alain

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s