How to find list of applications published on individual Citrix / VDA servers?

Ever wondered how to list all the published applications on individual Citrix servers. Below is a script that queries all the applications and lists them according to the delivery group and Servers they are published on. Just copy the below code and save as a Powershell file. I ran the below script in a XenApp 7.16 farm and it worked like a charm. This would work on other XenApp/CVAD 7.x versions too.

asnp citrix*
$apps = Get-BrokerApplication
foreach ($app in $apps){
Write-Output "`n`r"
Write-Output "Application name: $($"
$dgUIDs = $app.AssociatedDesktopGroupUids
foreach ($dgUID in $dgUIDs){
$VDAs = Get-BrokerDesktop -DesktopGroupUid $dgUID
Write-Output "`tDeliveryGroup:
foreach ($VDA in $VDAs){
Write-Output "`t`tVDA: $($VDA.DNSName) Machine Catalog: $($VDA.CatalogName)"

The result will look like the following. The below is a sample of just a single application. The script lists all the applications published in the farm. So there you go!

Published Applications Report in Excel using Powershell

Here is a PowerShell script to extract the published applications in a CSV file. This script could be used for XenApp 6.0 or above farms . I do not own the script so please use this at your own risk.


# Create variables

asnp citrix*

$outpath = [environment]::getfolderpath(“mydocuments”) + “\XenApp_Published_App_Report.csv”

$xaapplist = get-xaapplication

$appreport=foreach ($application in $xaapplist)

{get-xaapplicationreport -BrowserName $application.BrowserName}

# pipe appreport variable and select required objects for output

$appreport |

select-object BrowserName,



@{n=’accounts’; e={$_.accounts}},@{n=’servernames’; e={$_.servernames}},@{n=’workergroupnames’; e={$_.workergroupnames}},folderpath,commandlineexecutable,clientfolder,





colordepth |

#Export results to a CSV

export-csv $outpath


The original source of the script could be found here