I added a Powershell module to XATools that can be used to publish a desktop to every server in a XenApp farm.  The same technique could be used for published applications.

You’ll need a “template application”.  In the demo, I’m using a published desktop.

image

image

Leave the server list blank.

image

Disable the application.

image

Add the user accounts for the helpdesk (or admins) that use the published application for testing a particular server.

image

image

Configure advanced settings as needed.

image

Now that you have a template you can use Powershell to publish a desktop for each server.

Enable the applications as needed.

Where’s the code?
I’m trying to collect and consolidate my Powershell scripts into modules. The code for this script is included in the XATools Powershell module.

Function New-XAPublishDesktop()
{
  param
  (
    [Parameter(ValueFromPipeline=$true)]
    [string]$ServerName,
    [Parameter(Mandatory=$true)]
    [string]$TemplateName
  )
  BEGIN
  {
    Add-PSSnapin Citrix* -ErrorAction SilentlyContinue
  }
  PROCESS
  {
    foreach($Server in $ServerName)
    {
      $app = Copy-XAApplication -BrowserName $TemplateName
      $app = Add-XAApplicationServer -InputObject $app -ServerNames $Server
      $NewDisplayName = $Server.ToUpper()+" Desktop"
      $app = Rename-XAApplication -BrowserName ($app).BrowserName -NewDisplayName $NewDisplayName
      $app
    }
  }
}