Citrix Receiver version live status
Citrix Receiver version live status

This script or rather these two command lines will output interesting information. In the current situation, the table will have two columns : one for the version number of the Citrix Receiver and another for the version count number. Like this:

Count Citrix Receiver Version
8
3 14.1.200.13
51 14.10.0.16036
34 14.10.1.22
365 14.11.0.17061
116 14.12.0.18020
3 14.2.0.10
68 14.2.100.14
7 14.3.0.5014
11 14.3.100.10
2 14.4.0.8014
11 14.4.1000.16
4 14.5.0.10018
60 14.6.0.12010
61 14.7.0.13011
5 14.8.0.1010
84 14.9.0.2539
33 14.9.1000.17
52 14.9.2000.21

The following script have to be launched from one of your Citrix Delivery Controller:

Import-Module citrix*
Add-PSSnapin Citrix.*
(Get-BrokerSession `
-AdminAddress "myCitrixDelCtrl01.domain.local" `
-DesktopGroupName "My Delivery Group" `
-property ClientVersion `
-MaxRecordCount 2000
).ClientVersion `
| group `
| sort Name `
| select Count,@{Name="Citrix Receiver Version"; Expression={$_.Name}}

The cmdlet Get-BrokerSession can retrieve more than the Citrix Receiver client version. The property list is the following:

> Get-BrokerSession | gm | ? { $_.MemberType -eq "Property" }

WARNING: Only first 250 records returned. Use -MaxRecordCount to retrieve more.

TypeName: Citrix.Broker.Admin.SDK.Session

TypeName Name MemberType Definition
Citrix.Broker.Admin.SDK.Session AgentVersion Property string AgentVersion {get;set;}
Citrix.Broker.Admin.SDK.Session ApplicationsInUse Property string[] ApplicationsInUse {get;set;}
Citrix.Broker.Admin.SDK.Session AppState Property Citrix.Broker.Admin.SDK.SessionAppState AppState {get;set;}
Citrix.Broker.Admin.SDK.Session AppStateLastChangeTime Property System.Nullable[datetime] AppStateLastChangeTime {get;set;}
Citrix.Broker.Admin.SDK.Session AutonomouslyBrokered Property bool AutonomouslyBrokered {get;set;}
Citrix.Broker.Admin.SDK.Session BrokeringDuration Property System.Nullable[int] BrokeringDuration {get;set;}
Citrix.Broker.Admin.SDK.Session BrokeringTime Property System.Nullable[datetime] BrokeringTime {get;set;}
Citrix.Broker.Admin.SDK.Session BrokeringUserName Property string BrokeringUserName {get;set;}
Citrix.Broker.Admin.SDK.Session BrokeringUserSID Property string BrokeringUserSID {get;set;}
Citrix.Broker.Admin.SDK.Session CatalogName Property string CatalogName {get;set;}
Citrix.Broker.Admin.SDK.Session ClientAddress Property string ClientAddress {get;set;}
Citrix.Broker.Admin.SDK.Session ClientName Property string ClientName {get;set;}
Citrix.Broker.Admin.SDK.Session ClientPlatform Property string ClientPlatform {get;set;}
Citrix.Broker.Admin.SDK.Session ClientProductId Property System.Nullable[int] ClientProductId {get;set;}
Citrix.Broker.Admin.SDK.Session ClientVersion Property string ClientVersion {get;set;}
Citrix.Broker.Admin.SDK.Session ConnectedViaHostName Property string ConnectedViaHostName {get;set;}
Citrix.Broker.Admin.SDK.Session ConnectedViaIP Property string ConnectedViaIP {get;set;}
Citrix.Broker.Admin.SDK.Session ConnectionMode Property System.Nullable[Citrix.Broker.Admin.SDK.ConnectionMode] ConnectionMode {get;set;}
Citrix.Broker.Admin.SDK.Session ControllerDNSName Property string ControllerDNSName {get;set;}
Citrix.Broker.Admin.SDK.Session DesktopGroupName Property string DesktopGroupName {get;set;}
Citrix.Broker.Admin.SDK.Session DesktopGroupUid Property int DesktopGroupUid {get;set;}
Citrix.Broker.Admin.SDK.Session DesktopKind Property Citrix.Broker.Admin.SDK.DesktopKind DesktopKind {get;set;}
Citrix.Broker.Admin.SDK.Session DesktopSID Property string DesktopSID {get;set;}
Citrix.Broker.Admin.SDK.Session DesktopUid Property int DesktopUid {get;set;}
Citrix.Broker.Admin.SDK.Session DeviceId Property string DeviceId {get;set;}
Citrix.Broker.Admin.SDK.Session DNSName Property string DNSName {get;set;}
Citrix.Broker.Admin.SDK.Session EstablishmentDuration Property System.Nullable[int] EstablishmentDuration {get;set;}
Citrix.Broker.Admin.SDK.Session EstablishmentTime Property System.Nullable[datetime] EstablishmentTime {get;set;}
Citrix.Broker.Admin.SDK.Session HardwareId Property string HardwareId {get;set;}
Citrix.Broker.Admin.SDK.Session Hidden Property bool Hidden {get;set;}
Citrix.Broker.Admin.SDK.Session HostedMachineName Property string HostedMachineName {get;set;}
Citrix.Broker.Admin.SDK.Session HostingServerName Property string HostingServerName {get;set;}
Citrix.Broker.Admin.SDK.Session HypervisorConnectionName Property string HypervisorConnectionName {get;set;}
Citrix.Broker.Admin.SDK.Session ImageOutOfDate Property System.Nullable[bool] ImageOutOfDate {get;set;}
Citrix.Broker.Admin.SDK.Session InMaintenanceMode Property bool InMaintenanceMode {get;set;}
Citrix.Broker.Admin.SDK.Session IPAddress Property string IPAddress {get;set;}
Citrix.Broker.Admin.SDK.Session IsAnonymousUser Property bool IsAnonymousUser {get;set;}
Citrix.Broker.Admin.SDK.Session IsPhysical Property bool IsPhysical {get;set;}
Citrix.Broker.Admin.SDK.Session LaunchedViaHostName Property string LaunchedViaHostName {get;set;}
Citrix.Broker.Admin.SDK.Session LaunchedViaIP Property string LaunchedViaIP {get;set;}
Citrix.Broker.Admin.SDK.Session LogoffInProgress Property bool LogoffInProgress {get;set;}
Citrix.Broker.Admin.SDK.Session LogonInProgress Property bool LogonInProgress {get;set;}
Citrix.Broker.Admin.SDK.Session MachineName Property string MachineName {get;set;}
Citrix.Broker.Admin.SDK.Session MachineSummaryState Property Citrix.Broker.Admin.SDK.DesktopSummaryState MachineSummaryState {get;set;}
Citrix.Broker.Admin.SDK.Session MachineUid Property int MachineUid {get;set;}
Citrix.Broker.Admin.SDK.Session MetadataMap Property System.Collections.Generic.Dictionary[string,string] MetadataMap {get;set;}
Citrix.Broker.Admin.SDK.Session OSType Property string OSType {get;set;}
Citrix.Broker.Admin.SDK.Session PersistUserChanges Property Citrix.Broker.Admin.SDK.PersistUserChanges PersistUserChanges {get;set;}
Citrix.Broker.Admin.SDK.Session PowerState Property Citrix.Broker.Admin.SDK.PowerState PowerState {get;set;}
Citrix.Broker.Admin.SDK.Session Protocol Property string Protocol {get;set;}
Citrix.Broker.Admin.SDK.Session ProvisioningType Property Citrix.Broker.Admin.SDK.ProvisioningType ProvisioningType {get;set;}
Citrix.Broker.Admin.SDK.Session ReceiverIPAddress Property string ReceiverIPAddress {get;set;}
Citrix.Broker.Admin.SDK.Session ReceiverName Property string ReceiverName {get;set;}
Citrix.Broker.Admin.SDK.Session SecureIcaActive Property System.Nullable[bool] SecureIcaActive {get;set;}
Citrix.Broker.Admin.SDK.Session SessionId Property int SessionId {get;set;}
Citrix.Broker.Admin.SDK.Session SessionKey Property guid SessionKey {get;set;}
Citrix.Broker.Admin.SDK.Session SessionReconnection Property System.Nullable[Citrix.Broker.Admin.SDK.SessionReconnection] SessionReconnection {get;set;}
Citrix.Broker.Admin.SDK.Session SessionState Property Citrix.Broker.Admin.SDK.SessionState SessionState {get;set;}
Citrix.Broker.Admin.SDK.Session SessionStateChangeTime Property datetime SessionStateChangeTime {get;set;}
Citrix.Broker.Admin.SDK.Session SessionSupport Property Citrix.Broker.Admin.SDK.SessionSupport SessionSupport {get;set;}
Citrix.Broker.Admin.SDK.Session SessionType Property Citrix.Broker.Admin.SDK.SessionType SessionType {get;set;}
Citrix.Broker.Admin.SDK.Session SmartAccessTags Property string[] SmartAccessTags {get;set;}
Citrix.Broker.Admin.SDK.Session StartTime Property System.Nullable[datetime] StartTime {get;set;}
Citrix.Broker.Admin.SDK.Session Uid Property long Uid {get;set;}
Citrix.Broker.Admin.SDK.Session UntrustedUserName Property string UntrustedUserName {get;set;}
Citrix.Broker.Admin.SDK.Session UserFullName Property string UserFullName {get;set;}
Citrix.Broker.Admin.SDK.Session UserName Property string UserName {get;set;}
Citrix.Broker.Admin.SDK.Session UserSID Property string UserSID {get;set;}
Citrix.Broker.Admin.SDK.Session UserUPN Property string UserUPN {get;set;}

<>

My Powershell script categories

Citrix Receiver version live status

One thought on “Citrix Receiver version live status

  • September 1, 2019 at 4:34 am
    Permalink

    What’s up, after reading this awesome article i am as well glad to share my knowledge here with
    friends.

    Reply

Leave a Reply

Your email address will not be published.