Automating Turbo Deployment in XenApp with PowerShell

In our previous Turbo for Citrix Walkthrough article, we showed how to use the Turbo subscription feature to quickly setup containers for use in a XenApp or RDS environment. However, this still required some manual steps to deploy the Turbo client and configure the subscribed applications in  XenApp.

This article introduces a PowerShell script for deploying on Citrix XenApp that automates the subscription process. With this script, all you need to do is add applications to your channel. With little or no modification, this script can be used in your XenApp environment.

Prerequisites for Running the Script

  • XenApp 7.x
  • Setup a Delivery Group in Citrix Studio
  • Turbo.net account
  • Setup a Channel (see step 2 from this article: Turbo for Citrix Walkthrough)
  • PowerShell

That’s it! No additional infrastructure is required to deploy and use Turbo applications.

Note: The PowerShell script attempts to automatically download and install the Turbo Client if it is not already on the machine. In some corporate environments web traffic may be restricted on servers. If this is the case, the Turbo Client can be downloaded and installed manually. The Turbo Containers also download from the Turbo.net Hub. This is a requirement so in certain environments you may need to configure a proxy to allow traffic from the Turbo.net Hub.

XenApp 7 PowerShell Subscribe Script

The XenApp 7 PowerShell Subscribe script is available on GitHub: https://github.com/turboapps/citrix/blob/master/xenapp7/subscribe.ps1

Before you can use the script, you must enable execution of PowerShell scripts on your system. This can be set globally using Group Policy or for a single session by running the PowerShell command:

### Enable the execution of PowerShell scripts
> Set-ExecutionPolicy ByPass
Prompt

By default the script will prompt for your Turbo.net credentials if you are not already logged in. Enter your Username and Password. Click OK. You can optionally pass in your Turbo.net credentials to the script directly with the -user and -password parameters.

PowerShellP

You must specify the Turbo.net channel name and XenApp delivery group as parameters to the script. You will be prompted to do so if you do not supply them on the command line.

The script will automatically complete all steps required to setup a subscription on your XenApp servers to the specified Turbo channel!

This includes installing the containers to the system, caching the container images, and adding them to the XenApp configuration. The Turbo client automatically configures a scheduled task to check for updates, and any applications configured as “evergreen” applications will automatically be patched. Since applications are containerized, they are isolated from one another and no additional siloing is required.