<< Back to Script Library
Show Citrix Receiver OS Platform
Show the client device Operating System type form for a specific user session.
Use this script without requesting the display of the Receiver version to get the results grouped by client OS (available only as a ControlUp Script Based Action).
Categorization of the Client OS is accomplished by querying the Citrix VDA or XA65 worker for the ClientPlatformId registry value in the appropriate Citrix ICA hive for that user session and follow the conversion described in this document:
https://www.citrix.com/mobilitysdk/docs/clientdetection.html
Use this script without requesting the display of the Receiver version to get the results grouped by client OS (available only as a ControlUp Script Based Action).
Categorization of the Client OS is accomplished by querying the Citrix VDA or XA65 worker for the ClientPlatformId registry value in the appropriate Citrix ICA hive for that user session and follow the conversion described in this document:
https://www.citrix.com/mobilitysdk/docs/clientdetection.html
Version: 2.8.23
Created: 2018-12-08
Modified: 2018-12-16
Creator: Marcel Calef
Downloads: 157
Tags: citrix receiver xenapp xendesktop
Created: 2018-12-08
Modified: 2018-12-16
Creator: Marcel Calef
Downloads: 157
Tags: citrix receiver xenapp xendesktop
The Script
Copy Script
Copied to clipboard
<# Citrix Receiver Client OS Platform
Show the client device Operating System type form for a specific user session.
Use this script without requesting the display of the Receiver version to get the results
grouped by client OS (available only as a ControlUp Script Based Action).
Categorization of the Client OS is accomplished by querying the Citrix VDA or XA65 worker
for the ClientPlatformId registry value in the appropriate Citrix ICA hive for that user session
and follow the conversion described in this document:
https://www.citrix.com/mobilitysdk/docs/clientdetection.html
Author: Marcel Calef
Date: 2018-12-16
Version: 2.9
Parameters:
Include Version - true or false
Session ID
Receiver Version
Sources:
https://www.citrix.com/mobilitysdk/docs/clientdetection.html
#>
$ErrorActionPreference = "Continue" # Ignore PoSh errors, a proper message will be displayed later
$outputDesired=$args[0]
$sessionID=$args[1]
$rxVer=$args[2]
if ([string]::IsNullOrEmpty($rxVer)) {Write-Host "No Citrix session connected"; exit 1}
#$sessionID=6
#(Get-ItemProperty HKLM:\software\Citrix\ICA\Session\$sessionID\Connection -name ClientProductId).ClientproductId
$rxOS="NotCitrix"
# Get the ClientProductID from the Citrix Session
$rxOS=(Get-ItemProperty HKLM:\software\Citrix\ICA\Session\$sessionID\Connection -name ClientProductId).ClientproductId
if ($rxOS -eq 1) {$platform="Windows"}
if ($rxOS -eq 81) {$platform="Linux"}
if ($rxOS -eq 82) {$platform="Mac"}
if ($rxOS -eq 83) {$platform="iOS"}
if ($rxOS -eq 84) {$platform="Android"}
if ($rxOS -eq 85) {$platform="Blackberry"}
if ($rxOS -eq 86) {$platform="Windows Phone 8/WinRT"}
if ($rxOS -eq 87) {$platform="Windows Mobile"}
if ($rxOS -eq 88) {$platform="Blackberry Playbook"}
if ($rxOS -eq 257) {$platform="HTML5"}
if ($rxOS -match "NotCitrix") {$platform="N/A"} # report N/A for not Citrix
if ($outputDesired -match "true") {Write-Host "version: $rxVer " -noNewLine}
Write-Host " Client OS: $platform OSid:$rxOS "