Search code examples
powershellcitrixxenappxendesktop

Citrix Get-Brokerapplication from specific server


On XenApp 6.x servers, there was a cmdlet like this:

GET-XAApplication -ServerName servername

I used to open a PSSession on the adminserver, then got all servers with GET-XAServer and then I simply did the Application command in a foreach loop, where the ServerName parameter was the servername from XAServer. Now I want to do the same on Version 7, but I can't figure out how it works.

I installed all new cmdlets for the newer Version. I found out I can get the Applications with GET-Brokerapplication - but I can't pass a parameter to tell the command from which server I want to grab them, so I can only grab them from my admin server.

Maybe someone can help me? I've already looked at the documentation (https://docs.citrix.com/de-de/xenapp-and-xendesktop/7-6/cds-sdk-wrapper-rho/xad-commands/citrix-broker-admin-v2-wrapper-xd76/get-brokerapplication-xd76.html) but I can't find a parameter who allows me to do what I want. MaybeI'm looking at the wrong cmdlet?

I would be really happy if someone has a advise for me.


Solution

  • In XenApp 6.x there were Worker Groups and you should have been publishing applications for Worker Groups instead of individual servers. Then you can enumerate Worker Groups and Applications:

    $wgs = Get-XAWorkerGroup 
    foreach ($group  in $wgs) {
        $apps = Get-XAApplication -WorkerGroupName $group 
    }
    

    In XenApp 7.x WorkerGroups are replaced by Delivery Groups and you can enumerate them and associated applications:

    $groups = Get-BrokerDesktopGroup
    foreach ($group in $groups) {
        $apps = Get-BrokerApplication -AssociatedDesktopGroupUid $group.UID
    }