Get latest Citrix Receiver version with PowerShell
This approach has now been replaced with the Evergreen PowerShell module. For more information on Evergreen, see the Evergreen docs. To find the latest Citrix Workspace app version and download URL, Evergreen provides the following command: Get-EvergreenApp -Name CitrixWorkspaceApp
I’ve previously written about deploying Citrix Receiver to Windows 10 via Intune with PowerShell. In that article, I included a script that will detect an installed version of Receiver and update to the latest version if it is out of date. To start with, I’ve hard-coded the current Receiver for Windows version into the script; however, that’s not necessarily the best approach, because it will require updating whenever a new version is released.
The public download page provides a source for querying Receiver versions for all platforms, so if we parse that page, we have a source for the latest versions for all platforms.
I’ve written a script that will parse the downloads page and return the current Receiver version for each platform unless a login for that platform is required. If you’re looking to find the latest version for Windows, Windows LTSR, Linux, Mac etc., the script can be used to return the version number for the desired platform.
Here’s the script:
To use the script, save as Get-CitrixReceiverVersions.ps1 and run from the command line. With no parameters, it will return the releases and version numbers for all available platforms with the Get-CitrixReceiverVersions
function.
. .\Get-CitrixReceiverVersions.ps1
Get-CitrixReceiverVersions
The script returns specific platforms with the -Platform parameter. This only accepts valid values, such as Windows
, Mac
and Linux
and the script will validate those values and supports tab completion.
Get-CitrixReceiverVersions -Platform Mac, Linux
If you want to return the latest version for a specific platform, e.g. Windows, then we can pipe the output to Select-Object:
Get-CitrixReceiverVersions -Platform Windows | Select-Object -First 1
Here’s the script in action:
An added bonus, the script also works on PowerShell Core:
I’ve written this primarily for my purposes, but perhaps there are other purposes that I’ve not yet considered. Feedback, issues and improvements to the script are welcome.