Setting Up HDX Flash Redirection – XenApp & XenDesktop

Setting up flash redirection to work in Citrix could sometimes be a daunting task. There are a multitude of moving parts to this solution and a slight error could lead to days of troubleshooting and remediation work. I thought i will document the procedures that I followed to successfully setup Flash redirection to work on  XenApp 7.5 farm and thin clients for a customer environment.

I am not going into the details of this technology and what each versions flash redirection does as you can read about them here

I strongly recommend you read the PDF document from Citrix on HDX redirection in general.

The below procedures apply to all the versions of XenApp and XenDesktop where flash redirection is applicable. My particular case was XenApp 7.5 with IE 11

We will split the setup into 2 parts – Server side (VDA or Citrix Servers) setup and Client side setup

Server Side setup

  • Citrix Policies – Setup the Citrix policies for flash in Studio or Delivery Services Console as the case may be. Below is how they should look like if they are correctly configured. Also note that the latency threshold may differ according to your network conditions.


  • Flash Hotfixes – Look out for any specific hotfixes by Citrix to enable Flash acceleration. There is one required for XenApp 7.5 VDA and is available here . You may have a different version so go online and check if there is a specific hotfox availabe for Flash redirection to work. I had to download the hotfix and install on the VDA


  • Version of IE – 32 bit Internet Explorer must be used for Flash redirection to work even if you are using a 64 bit OS like Windows Server 2012 R2. Citrix recommends using IE 11
  • Flash Player Active X Plugins – Active X plugins are required on the server side for flash acceleration to work. These plugins integrate with Internet Explorer and could be installed separately if you are using IE 10 and below. You may visit Adobe Flash website to download a specific version of the Active X component. With IE 11, the Active X components are built-in alongside the browser (not a good thing in my opinion) and update are available as Windows updates from Microsoft’s site.


  • Flash Player NPAPI Plugins – It’s good to keep the IE Active X Controls and the NPAPI plugin versions the same. Though NPAPI plugins are required only for non-IE browsers according to theory, this seem to have an effect on the success of flash redirection


  • Special IE Settings – Disable Enhanced Protection Mode in IE, Some websites like need to be added to compatibility view mode for flash redirection to work. you may also need to add the website to Trusted Sites in IE in certain cases.

Client Side Setup

  • Flash Player Active X Plugins/Controls – This is a critical piece. This should either be equal to or greater than the version being run on the server.
  • Flash Player NPAPI Plugins – I would say this is the most important bit as we found out that even though you use IE in the Citrix session, NPAPI versions are compatibility checked and matched. If the check failed, flash redirection stopped working regardless of the Active X (IE) version. Keep client side NPAPI version the same or above as your NPAPI version on the server for Flash redirection to work.
  • Configure the ADM file for HDX Mediastream for Flash on all the corporate domain joined clients. This is not a requirement but still nice to have configured. Without this, your clients will still work if they meet the rest of the requirements

Other key things to note

  • Dont perform an upgrade of an existing Flash player plugin for client or server. Always install a fresh copy.
  • Flash Logging is a must have when you setup flash redirection. In most of the cases, logging will be turn ON by default and will be found under Event Viewer > Applications and Service Log > Citrix >Multimedia >Flash
  • When Flash redirection works, PseudoContainer.exe will run on the client device. Spot it using Task Manager >Details/Processes Tab
  • There is a troubleshooting guide for Flash redirection from Citrix and could be found here
  • Citrix has got a How to guide for setting up Flash and could be found here
  • Flash Logging could be enabled following the KB
  • Check the Flash Redirection compatibility KB from Citrix here

That’s it folks. Feel free to post your comments below


XenApp & XenDesktop 7.x – Citrix Director Load Balancing using NetScaler

Here is a quick and easy way to load balance your Citrix Director instances in a XenApp or XenDesktop environment.

Below is my environment

  • Citrix Director servers ( Controller servers in most cases) – director-1 and director-2
  • A NetScaler HA pair ( you can do this on a stand alone NetScaler as well)



Firstly, create a monitor for the Director services

Navigate to Traffic Management >Load Balancing >Monitors and click Add


Give it a name and select type as HTTP ( if there are no SSL certificates installed on the Director servers). Click on the Special Parameters tab and under the HTTP Type box, enter GET /Director/LogOn.aspx?cc=true


Before you click Create, ensure that it is enabled and Secure box is ticked if SSL certs are being used.


Click Create


  • Second step is to create Servers

Navigate to Traffic Management >Load Balancing >Servers and click Add


Add your Director servers here


Similarly, add the second Director servers as well

Service Groups

  • Now create the Service Group

Navigate to Traffic Management >Load Balancing >Service Groups and click Add


Give the Service Group a name and protocol is HTTP and click OK


Now Edit the service group that was just created and click on Service Group members and add the newly created services, director-1 and director-2


Once added, it will look like the below



Click Close. Click on the Monitors link as below and add the monitor that was created in Step 1


Once add the screen will look like the below. Click Close


The service group will look like the below once the above steps are completed.


Click Done

Responder Policy

A Responder policy needs to be created to redirect the users from the root of the IIS web server to the Director page.

Please note that Responder feature may need to be enabled first before you can use it.

Click on the + sign next to AppExpert and select Responder. Right click and choose Enable Feature. The yellow exclamation mark will disappear when you do that.

Once enabled, Navigate to AppExpert >Responder > Actions


Now think of a nice name to call the load balanced Director instance. you will need to add a DNS host entry later on for this name. the name that i have chosen is director

Give it a descriptive name and use the drop down for Type to select Redirect

Under Expressions, type the string here with the quotes as below



Click Create

Time now to create the Responder policy. The one that we created earlier was a Responder action.

Give a descriptive name to the Responder policy and under the Action drop down menu, select the name of the action that was created in previous step. Under the Expressions field,  type



Click Create

Virtual Server for Load balancing

Reserve an IP address to use for the virtual server.

On the left, navigate to Traffic Management >Load Balancing >Virtual Servers and click Add on the right. Give it a name and select the Protocol as HTTP

Specify the IP address for virtual server and the port number as 80. Click OK.  Note that in production environments, use secure Director access by using an SSL certificate. For the purpose of demo, we are using an unsecure connection


On the page where it says, Services and Service Groups, click No Load Balancing Virtual Server ServiceGroup Binding


Add the service group that was created in earlier steps

Click Continue

On the right hand side under Advanced Settings, Click Persistence

Select SOURCE IP as the Persistence and change the timeout value to 245 ( the default time out value for Director is 245 mins). Leave the rest of the settings as defaults and Click OK


Now, move on to the right hand side again and select Policies

Select Responder as the policy and Type as Request and click Continue


Select the redirect policy created earlier and click Bind


Click Done

Ensure that the virtual server is marked as UP in green.

DNS Config

Create a host A record in DNS for the name which in my case is director

Test the Director URL and ensure that it redirects you to the correct URL and also login and confirm that Director is usable.

That’s all you need to do to setup Director load balancing using NetScaler.





Tuning HDX policies for optimal end user performance – XenApp/XenDesktop 7.6 FP3

With the release of 7.6 feature pack 3, the default graphics delivery behavior has changed and the enhanced Thinwire Compatibility mode is not available via user policies. You will need to take into consideration about the different use cases and the importance of policy precedence to ensure the intended delivery method is used. If FrameHawk is specifically applied to a subset of users, they will use FrameHawk even if a higher priority policy specifies Thinwire Compatibility mode. here is a cheat sheet from Citrix to make your life a lot easier when configuring HDX policies


XenApp / XenDesktop 7.x – All the PowerShell cmdlets

Here is a dump of all that you can do via the PowerShell cmdlets in a XenApp /XenDesktop 7.x world. Note that the below has been taken from a XenApp 7.5 controller so there might be SDK updates in the newer releases.

Run the below command below in a PowerShell administrative window

Get-Command -Module citrix*

Output is below

CommandType     Name                                               ModuleName                                          
-----------     ----                                               ----------                                          
Cmdlet          Add-AcctADAccount                                  Citrix.AdIdentity.Admin.V2                          
Cmdlet          Add-AcctIdentityPoolScope                          Citrix.AdIdentity.Admin.V2                          
Cmdlet          Add-AdminPermission                                Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Add-AdminRight                                     Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Add-BrokerApplication                              Citrix.Broker.Admin.V2                              
Cmdlet          Add-BrokerDesktopGroup                             Citrix.Broker.Admin.V2                              
Cmdlet          Add-BrokerMachine                                  Citrix.Broker.Admin.V2                              
Cmdlet          Add-BrokerMachineConfiguration                     Citrix.Broker.Admin.V2                              
Cmdlet          Add-BrokerMachinesToDesktopGroup                   Citrix.Broker.Admin.V2                              
Cmdlet          Add-BrokerScope                                    Citrix.Broker.Admin.V2                              
Cmdlet          Add-BrokerTag                                      Citrix.Broker.Admin.V2                              
Cmdlet          Add-BrokerUser                                     Citrix.Broker.Admin.V2                              
Cmdlet          Add-ConfigRegisteredServiceInstanceMetadata        Citrix.Configuration.Admin.V2                       
Cmdlet          Add-ConfigServiceGroupMetadata                     Citrix.Configuration.Admin.V2                       
Cmdlet          Add-HypHostingUnitMetadata                         Citrix.Host.Admin.V2                                
Cmdlet          Add-HypHostingUnitNetwork                          Citrix.Host.Admin.V2                                
Cmdlet          Add-HypHostingUnitStorage                          Citrix.Host.Admin.V2                                
Cmdlet          Add-HypHypervisorConnectionAddress                 Citrix.Host.Admin.V2                                
Cmdlet          Add-HypHypervisorConnectionMetadata                Citrix.Host.Admin.V2                                
Cmdlet          Add-HypHypervisorConnectionScope                   Citrix.Host.Admin.V2                                
Cmdlet          Add-HypMetadata                                    Citrix.Host.Admin.V2                                
Cmdlet          Add-LicGlobalMetadata                              Citrix.Licensing.Admin.V1                           
Cmdlet          Add-ProvSchemeControllerAddress                    Citrix.MachineCreation.Admin.V2                     
Cmdlet          Add-ProvSchemeMetadata                             Citrix.MachineCreation.Admin.V2                     
Cmdlet          Add-ProvSchemeScope                                Citrix.MachineCreation.Admin.V2                     
Cmdlet          Add-ProvTaskMetadata                               Citrix.MachineCreation.Admin.V2                     
Cmdlet          Add-SfServerToCluster                              Citrix.Storefront.Admin.V1                          
Cmdlet          Add-SfStorefrontAddress                            Citrix.Storefront.Admin.V1                          
Cmdlet          Add-XDController                                   Citrix.XenDesktop.Admin                             
Cmdlet          Clear-CtxTraceSession                              Citrix.Common.Commands                              
Cmdlet          ConvertTo-CtxAppVLauncherArg                       Citrix.AppV.Admin.V1                                
Cmdlet          Copy-AcctIdentityPool                              Citrix.AdIdentity.Admin.V2                          
Cmdlet          Copy-CtxSystemInformation                          Citrix.Common.Commands                              
Cmdlet          Copy-CtxTraceLog                                   Citrix.Common.Commands                              
Cmdlet          Disconnect-BrokerSession                           Citrix.Broker.Admin.V2                              
Cmdlet          Export-BrokerDesktopPolicy                         Citrix.Broker.Admin.V2                              
Cmdlet          Export-ConfigFeatureTable                          Citrix.Configuration.Admin.V2                       
Cmdlet          Export-CtxGPTemplate                               Citrix.Common.GroupPolicy                           
Cmdlet          Export-LogReportCsv                                Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Export-LogReportHtml                               Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-AcctADAccount                                  Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctDBConnection                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctDBSchema                                   Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctDBVersionChangeScript                      Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctIdentityPool                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctInstalledDBVersion                         Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctScopedObject                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctService                                    Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctServiceAddedCapability                     Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctServiceInstance                            Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AcctServiceStatus                              Citrix.AdIdentity.Admin.V2                          
Cmdlet          Get-AdminAdministrator                             Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminDBConnection                              Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminDBSchema                                  Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminDBVersionChangeScript                     Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminEffectiveAdministrator                    Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminEffectiveRight                            Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminInstalledDBVersion                        Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminPermission                                Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminPermissionGroup                           Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminRevision                                  Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminRole                                      Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminRoleConfiguration                         Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminScope                                     Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminService                                   Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminServiceAddedCapability                    Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminServiceInstance                           Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-AdminServiceStatus                             Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Get-BrokerAccessPolicyRule                         Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerAppAssignmentPolicyRule                  Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerAppEntitlementPolicyRule                 Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerApplication                              Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerApplicationInstance                      Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerAssignmentPolicyRule                     Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerCatalog                                  Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerConfigurationSlot                        Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerConfiguredFTA                            Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerConnectionLog                            Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerController                               Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerDBConnection                             Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerDBSchema                                 Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerDBVersionChangeScript                    Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerDelayedHostingPowerAction                Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerDesktop                                  Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerDesktopGroup                             Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerDesktopUsage                             Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerEntitlementPolicyRule                    Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerHostingPowerAction                       Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerHypervisorAlert                          Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerHypervisorConnection                     Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerIcon                                     Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerImportedFTA                              Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerInstalledDbVersion                       Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerMachine                                  Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerMachineCommand                           Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerMachineConfiguration                     Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerMachineStartMenuShortcutIcon             Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerMachineStartMenuShortcuts                Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerPowerTimeScheme                          Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerPrivateDesktop                           Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerRebootCycle                              Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerRebootSchedule                           Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerRemotePCAccount                          Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerResource                                 Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerScopedObject                             Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerServiceAddedCapability                   Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerServiceInstance                          Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerServiceStatus                            Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerSession                                  Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerSharedDesktop                            Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerSite                                     Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerTag                                      Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerUnconfiguredMachine                      Citrix.Broker.Admin.V2                              
Cmdlet          Get-BrokerUser                                     Citrix.Broker.Admin.V2                              
Cmdlet          Get-ConfigDBConnection                             Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigDBSchema                                 Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigDBVersionChangeScript                    Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigEnabledFeature                           Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigInstalledDBVersion                       Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigLicensingModel                           Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigLocalData                                Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigProduct                                  Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigProductEdition                           Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigProductFeature                           Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigProductVersion                           Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigRegisteredServiceInstance                Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigService                                  Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigServiceAddedCapability                   Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigServiceGroup                             Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigServiceInstance                          Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigServiceStatus                            Citrix.Configuration.Admin.V2                       
Cmdlet          Get-ConfigSite                                     Citrix.Configuration.Admin.V2                       
Cmdlet          Get-CtxAppVApplication                             Citrix.AppV.Admin.V1                                
Cmdlet          Get-CtxAppVApplicationInfo                         Citrix.AppV.Admin.V1                                
Cmdlet          Get-CtxAppVServer                                  Citrix.AppV.Admin.V1                                
Cmdlet          Get-CtxAppVServerSetting                           Citrix.AppV.Admin.V1                                
Cmdlet          Get-CtxConfigurationLogReport                      Citrix.Common.Commands                              
Cmdlet          Get-CtxIcon                                        Citrix.Common.Commands                              
Cmdlet          Get-CtxProfileApplication                          Citrix.Common.Commands                              
Cmdlet          Get-CtxTraceProvider                               Citrix.Common.Commands                              
Cmdlet          Get-CtxTraceSession                                Citrix.Common.Commands                              
Cmdlet          Get-EnvTestConfiguration                           Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestDBConnection                            Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestDBSchema                                Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestDBVersionChangeScript                   Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestDefinition                              Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestInstalledDBVersion                      Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestService                                 Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestServiceAddedCapability                  Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestServiceInstance                         Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestServiceStatus                           Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestSuiteDefinition                         Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-EnvTestTask                                    Citrix.EnvTest.Admin.V1                             
Cmdlet          Get-HypConfigurationDataForItem                    Citrix.Host.Admin.V2                                
Cmdlet          Get-HypConfigurationObjectForItem                  Citrix.Host.Admin.V2                                
Cmdlet          Get-HypConnectionRegion                            Citrix.Host.Admin.V2                                
Cmdlet          Get-HypDBConnection                                Citrix.Host.Admin.V2                                
Cmdlet          Get-HypDBSchema                                    Citrix.Host.Admin.V2                                
Cmdlet          Get-HypDBVersionChangeScript                       Citrix.Host.Admin.V2                                
Cmdlet          Get-HypHypervisorPlugin                            Citrix.Host.Admin.V2                                
Cmdlet          Get-HypInstalledDBVersion                          Citrix.Host.Admin.V2                                
Cmdlet          Get-HypScopedObject                                Citrix.Host.Admin.V2                                
Cmdlet          Get-HypService                                     Citrix.Host.Admin.V2                                
Cmdlet          Get-HypServiceAddedCapability                      Citrix.Host.Admin.V2                                
Cmdlet          Get-HypServiceInstance                             Citrix.Host.Admin.V2                                
Cmdlet          Get-HypServiceStatus                               Citrix.Host.Admin.V2                                
Cmdlet          Get-HypVMMacAddress                                Citrix.Host.Admin.V2                                
Cmdlet          Get-HypVolumeServiceConfiguration                  Citrix.Host.Admin.V2                                
Cmdlet          Get-HypXenServerAddress                            Citrix.Host.Admin.V2                                
Cmdlet          Get-LicAdministrator                               Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicCertificate                                 Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicEffectivePermission                         Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicEntitlements                                Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicGlobalMetadata                              Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicInventory                                   Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicLACEnabledState                             Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicLACLocation                                 Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicLocation                                    Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LicServerInfo                                  Citrix.Licensing.Admin.V1                           
Cmdlet          Get-LogDataStore                                   Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogDBConnection                                Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogDBSchema                                    Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogDBVersionChangeScript                       Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogHighLevelOperation                          Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogInstalledDBVersion                          Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogLowLevelOperation                           Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogService                                     Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogServiceAddedCapability                      Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogServiceInstance                             Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogServiceStatus                               Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogSite                                        Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-LogSummary                                     Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Get-MonitorConfiguration                           Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorDataStore                               Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorDBConnection                            Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorDBSchema                                Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorDBVersionChangeScript                   Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorInstalledDBVersion                      Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorService                                 Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorServiceAddedCapability                  Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorServiceInstance                         Citrix.Monitor.Admin.V1                             
Cmdlet          Get-MonitorServiceStatus                           Citrix.Monitor.Admin.V1                             
Cmdlet          Get-ProvDBConnection                               Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvDBSchema                                   Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvDBVersionChangeScript                      Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvInstalledDBVersion                         Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvObjectReference                            Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvScheme                                     Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvSchemeMasterVMImageHistory                 Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvScopedObject                               Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvService                                    Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvServiceAddedCapability                     Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvServiceConfigurationData                   Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvServiceInstance                            Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvServiceStatus                              Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvTask                                       Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-ProvVM                                         Citrix.MachineCreation.Admin.V2                     
Cmdlet          Get-SfCluster                                      Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfDBConnection                                 Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfDBSchema                                     Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfDBVersionChangeScript                        Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfInstalledDBVersion                           Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfIsStorefrontInstalled                        Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfService                                      Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfServiceAddedCapability                       Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfServiceInstance                              Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfServiceStatus                                Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfStorefrontAddress                            Citrix.Storefront.Admin.V1                          
Cmdlet          Get-SfTask                                         Citrix.Storefront.Admin.V1                          
Cmdlet          Get-UserProfileDefinition                          Citrix.UserProfileManager.Admin.V1                  
Cmdlet          Get-UserProfileManagerServiceAddedCapability       Citrix.UserProfileManager.Admin.V1                  
Cmdlet          Get-UserProfilePath                                Citrix.UserProfileManager.Admin.V1                  
Cmdlet          Get-XDDatabaseSchema                               Citrix.XenDesktop.Admin                             
Cmdlet          Get-XDLogging                                      Citrix.XenDesktop.Admin                             
Cmdlet          Get-XDMonitor                                      Citrix.XenDesktop.Admin                             
Cmdlet          Get-XDSite                                         Citrix.XenDesktop.Admin                             
Cmdlet          Grant-HypSecurityGroupEgress                       Citrix.Host.Admin.V2                                
Cmdlet          Grant-HypSecurityGroupIngress                      Citrix.Host.Admin.V2                                
Cmdlet          Group-BrokerDesktop                                Citrix.Broker.Admin.V2                              
Cmdlet          Group-BrokerMachine                                Citrix.Broker.Admin.V2                              
Cmdlet          Import-AdminRoleConfiguration                      Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Import-BrokerDesktopPolicy                         Citrix.Broker.Admin.V2                              
Cmdlet          Import-ConfigFeatureTable                          Citrix.Configuration.Admin.V2                       
Cmdlet          Import-CtxGPTemplate                               Citrix.Common.GroupPolicy                           
Cmdlet          Import-LicLicenseFile                              Citrix.Licensing.Admin.V1                           
Cmdlet          Lock-ProvVM                                        Citrix.MachineCreation.Admin.V2                     
Cmdlet          New-AcctADAccount                                  Citrix.AdIdentity.Admin.V2                          
Cmdlet          New-AcctIdentityPool                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          New-AdminAdministrator                             Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          New-AdminRole                                      Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          New-AdminScope                                     Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          New-BrokerAccessPolicyRule                         Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerAppAssignmentPolicyRule                  Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerAppEntitlementPolicyRule                 Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerApplication                              Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerAssignmentPolicyRule                     Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerCatalog                                  Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerConfigurationSlot                        Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerConfiguredFTA                            Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerDelayedHostingPowerAction                Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerDesktopGroup                             Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerEntitlementPolicyRule                    Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerHostingPowerAction                       Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerHypervisorConnection                     Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerIcon                                     Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerMachine                                  Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerMachineCommand                           Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerMachineConfiguration                     Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerPowerTimeScheme                          Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerRebootSchedule                           Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerRemotePCAccount                          Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerTag                                      Citrix.Broker.Admin.V2                              
Cmdlet          New-BrokerUser                                     Citrix.Broker.Admin.V2                              
Cmdlet          New-CtxAppVServer                                  Citrix.AppV.Admin.V1                                
Cmdlet          New-CtxInformationPackage                          Citrix.Common.Commands                              
Cmdlet          New-EnvTestDiscoveryTargetDefinition               Citrix.EnvTest.Admin.V1                             
Cmdlet          New-HypVMSnapshot                                  Citrix.Host.Admin.V2                                
Cmdlet          New-LicAdministrator                               Citrix.Licensing.Admin.V1                           
Cmdlet          New-LicAllocation                                  Citrix.Licensing.Admin.V1                           
Cmdlet          New-ProvScheme                                     Citrix.MachineCreation.Admin.V2                     
Cmdlet          New-ProvVM                                         Citrix.MachineCreation.Admin.V2                     
Cmdlet          New-SfCluster                                      Citrix.Storefront.Admin.V1                          
Cmdlet          New-SfStorefrontAddress                            Citrix.Storefront.Admin.V1                          
Cmdlet          New-UserProfileConfiguration                       Citrix.UserProfileManager.Admin.V1                  
Cmdlet          New-UserProfileShare                               Citrix.UserProfileManager.Admin.V1                  
Cmdlet          New-XDDatabase                                     Citrix.XenDesktop.Admin                             
Cmdlet          New-XDSite                                         Citrix.XenDesktop.Admin                             
Cmdlet          Publish-ProvMasterVmImage                          Citrix.MachineCreation.Admin.V2                     
Cmdlet          Register-ConfigServiceInstance                     Citrix.Configuration.Admin.V2                       
Cmdlet          Remove-AcctADAccount                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Remove-AcctIdentityPool                            Citrix.AdIdentity.Admin.V2                          
Cmdlet          Remove-AcctIdentityPoolMetadata                    Citrix.AdIdentity.Admin.V2                          
Cmdlet          Remove-AcctIdentityPoolScope                       Citrix.AdIdentity.Admin.V2                          
Cmdlet          Remove-AcctServiceMetadata                         Citrix.AdIdentity.Admin.V2                          
Cmdlet          Remove-AdminAdministrator                          Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-AdminAdministratorMetadata                  Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-AdminPermission                             Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-AdminRight                                  Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-AdminRole                                   Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-AdminRoleMetadata                           Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-AdminScope                                  Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-AdminScopeMetadata                          Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-AdminServiceMetadata                        Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Remove-BrokerAccessPolicyRule                      Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerAccessPolicyRuleMetadata              Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerAppAssignmentPolicyRule               Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerAppEntitlementPolicyRule              Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerApplication                           Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerApplicationInstanceMetadata           Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerApplicationMetadata                   Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerAssignmentPolicyRule                  Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerAssignmentPolicyRuleMetadata          Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerCatalog                               Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerCatalogMetadata                       Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerConfigurationSlot                     Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerConfigurationSlotMetadata             Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerConfiguredFTA                         Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerControllerMetadata                    Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerDelayedHostingPowerAction             Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerDesktopGroup                          Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerDesktopGroupMetadata                  Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerEntitlementPolicyRule                 Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerEntitlementPolicyRuleMetadata         Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerHostingPowerAction                    Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerHostingPowerActionMetadata            Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerHypervisorAlertMetadata               Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerHypervisorConnection                  Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerHypervisorConnectionMetadata          Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerIcon                                  Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerIconMetadata                          Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerImportedFTA                           Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerMachine                               Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerMachineCommand                        Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerMachineCommandMetadata                Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerMachineConfiguration                  Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerMachineConfigurationMetadata          Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerMachineMetadata                       Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerPowerTimeScheme                       Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerPowerTimeSchemeMetadata               Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerRebootCycleMetadata                   Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerRebootSchedule                        Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerRemotePCAccount                       Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerScope                                 Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerSessionMetadata                       Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerSiteMetadata                          Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerTag                                   Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerTagMetadata                           Citrix.Broker.Admin.V2                              
Cmdlet          Remove-BrokerUser                                  Citrix.Broker.Admin.V2                              
Cmdlet          Remove-ConfigRegisteredServiceInstanceMetadata     Citrix.Configuration.Admin.V2                       
Cmdlet          Remove-ConfigServiceGroup                          Citrix.Configuration.Admin.V2                       
Cmdlet          Remove-ConfigServiceGroupMetadata                  Citrix.Configuration.Admin.V2                       
Cmdlet          Remove-ConfigServiceMetadata                       Citrix.Configuration.Admin.V2                       
Cmdlet          Remove-ConfigSiteMetadata                          Citrix.Configuration.Admin.V2                       
Cmdlet          Remove-EnvTestServiceMetadata                      Citrix.EnvTest.Admin.V1                             
Cmdlet          Remove-EnvTestTask                                 Citrix.EnvTest.Admin.V1                             
Cmdlet          Remove-EnvTestTaskMetadata                         Citrix.EnvTest.Admin.V1                             
Cmdlet          Remove-HypHostingUnitMetadata                      Citrix.Host.Admin.V2                                
Cmdlet          Remove-HypHostingUnitNetwork                       Citrix.Host.Admin.V2                                
Cmdlet          Remove-HypHostingUnitStorage                       Citrix.Host.Admin.V2                                
Cmdlet          Remove-HypHypervisorConnectionAddress              Citrix.Host.Admin.V2                                
Cmdlet          Remove-HypHypervisorConnectionMetadata             Citrix.Host.Admin.V2                                
Cmdlet          Remove-HypHypervisorConnectionScope                Citrix.Host.Admin.V2                                
Cmdlet          Remove-HypMetadata                                 Citrix.Host.Admin.V2                                
Cmdlet          Remove-HypServiceMetadata                          Citrix.Host.Admin.V2                                
Cmdlet          Remove-LicAdministrator                            Citrix.Licensing.Admin.V1                           
Cmdlet          Remove-LicGlobalMetadata                           Citrix.Licensing.Admin.V1                           
Cmdlet          Remove-LogOperation                                Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Remove-LogServiceMetadata                          Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Remove-LogSiteMetadata                             Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Remove-MonitorServiceMetadata                      Citrix.Monitor.Admin.V1                             
Cmdlet          Remove-ProvScheme                                  Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvSchemeControllerAddress                 Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvSchemeMasterVMImageHistory              Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvSchemeMetadata                          Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvSchemeScope                             Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvServiceConfigurationData                Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvServiceMetadata                         Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvTask                                    Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvTaskMetadata                            Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-ProvVM                                      Citrix.MachineCreation.Admin.V2                     
Cmdlet          Remove-SfServerFromCluster                         Citrix.Storefront.Admin.V1                          
Cmdlet          Remove-SfServiceMetadata                           Citrix.Storefront.Admin.V1                          
Cmdlet          Remove-SfTask                                      Citrix.Storefront.Admin.V1                          
Cmdlet          Remove-SfTaskMetadata                              Citrix.Storefront.Admin.V1                          
Cmdlet          Remove-UserProfileShare                            Citrix.UserProfileManager.Admin.V1                  
Cmdlet          Remove-XDController                                Citrix.XenDesktop.Admin                             
Cmdlet          Remove-XDSite                                      Citrix.XenDesktop.Admin                             
Cmdlet          Rename-AcctIdentityPool                            Citrix.AdIdentity.Admin.V2                          
Cmdlet          Rename-AdminRole                                   Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Rename-AdminScope                                  Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Rename-BrokerAccessPolicyRule                      Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerAppAssignmentPolicyRule               Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerAppEntitlementPolicyRule              Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerApplication                           Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerAssignmentPolicyRule                  Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerCatalog                               Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerDesktopGroup                          Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerEntitlementPolicyRule                 Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerMachineConfiguration                  Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerPowerTimeScheme                       Citrix.Broker.Admin.V2                              
Cmdlet          Rename-BrokerTag                                   Citrix.Broker.Admin.V2                              
Cmdlet          Rename-ProvScheme                                  Citrix.MachineCreation.Admin.V2                     
Cmdlet          Repair-AcctADAccount                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Repair-UserProfileShare                            Citrix.UserProfileManager.Admin.V1                  
Cmdlet          Reset-AcctServiceGroupMembership                   Citrix.AdIdentity.Admin.V2                          
Cmdlet          Reset-AdminServiceGroupMembership                  Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Reset-BrokerLicensingConnection                    Citrix.Broker.Admin.V2                              
Cmdlet          Reset-BrokerServiceGroupMembership                 Citrix.Broker.Admin.V2                              
Cmdlet          Reset-ConfigServiceGroupMembership                 Citrix.Configuration.Admin.V2                       
Cmdlet          Reset-EnvTestServiceGroupMembership                Citrix.EnvTest.Admin.V1                             
Cmdlet          Reset-HypServiceGroupMembership                    Citrix.Host.Admin.V2                                
Cmdlet          Reset-LogDataStore                                 Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Reset-LogServiceGroupMembership                    Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Reset-MonitorDataStore                             Citrix.Monitor.Admin.V1                             
Cmdlet          Reset-MonitorServiceGroupMembership                Citrix.Monitor.Admin.V1                             
Cmdlet          Reset-ProvServiceGroupMembership                   Citrix.MachineCreation.Admin.V2                     
Cmdlet          Reset-SfServiceGroupMembership                     Citrix.Storefront.Admin.V1                          
Cmdlet          Revoke-HypSecurityGroupEgress                      Citrix.Host.Admin.V2                                
Cmdlet          Revoke-HypSecurityGroupIngress                     Citrix.Host.Admin.V2                                
Cmdlet          Send-BrokerSessionMessage                          Citrix.Broker.Admin.V2                              
Cmdlet          Set-AcctDBConnection                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Set-AcctIdentityPool                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Set-AcctIdentityPoolMetadata                       Citrix.AdIdentity.Admin.V2                          
Cmdlet          Set-AcctServiceMetadata                            Citrix.AdIdentity.Admin.V2                          
Cmdlet          Set-AdminAdministrator                             Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Set-AdminAdministratorMetadata                     Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Set-AdminDBConnection                              Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Set-AdminRole                                      Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Set-AdminRoleMetadata                              Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Set-AdminScope                                     Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Set-AdminScopeMetadata                             Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Set-AdminServiceMetadata                           Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Set-BrokerAccessPolicyRule                         Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerAccessPolicyRuleMetadata                 Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerAppAssignmentPolicyRule                  Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerAppEntitlementPolicyRule                 Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerApplication                              Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerApplicationInstanceMetadata              Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerApplicationMetadata                      Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerAssignmentPolicyRule                     Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerAssignmentPolicyRuleMetadata             Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerCatalog                                  Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerCatalogMetadata                          Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerConfigurationSlotMetadata                Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerControllerMetadata                       Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerDBConnection                             Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerDesktopGroup                             Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerDesktopGroupMetadata                     Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerEntitlementPolicyRule                    Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerEntitlementPolicyRuleMetadata            Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerHostingPowerAction                       Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerHostingPowerActionMetadata               Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerHypervisorAlertMetadata                  Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerHypervisorConnection                     Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerHypervisorConnectionMetadata             Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerIconMetadata                             Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerMachine                                  Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerMachineCatalog                           Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerMachineCommandMetadata                   Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerMachineConfiguration                     Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerMachineConfigurationMetadata             Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerMachineMaintenanceMode                   Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerMachineMetadata                          Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerPowerTimeScheme                          Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerPowerTimeSchemeMetadata                  Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerPrivateDesktop                           Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerRebootCycleMetadata                      Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerRebootSchedule                           Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerRemotePCAccount                          Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerSession                                  Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerSessionMetadata                          Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerSharedDesktop                            Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerSite                                     Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerSiteMetadata                             Citrix.Broker.Admin.V2                              
Cmdlet          Set-BrokerTagMetadata                              Citrix.Broker.Admin.V2                              
Cmdlet          Set-ConfigDBConnection                             Citrix.Configuration.Admin.V2                       
Cmdlet          Set-ConfigRegisteredServiceInstance                Citrix.Configuration.Admin.V2                       
Cmdlet          Set-ConfigRegisteredServiceInstanceMetadata        Citrix.Configuration.Admin.V2                       
Cmdlet          Set-ConfigServiceGroupMetadata                     Citrix.Configuration.Admin.V2                       
Cmdlet          Set-ConfigServiceMetadata                          Citrix.Configuration.Admin.V2                       
Cmdlet          Set-ConfigSite                                     Citrix.Configuration.Admin.V2                       
Cmdlet          Set-ConfigSiteMetadata                             Citrix.Configuration.Admin.V2                       
Cmdlet          Set-CtxAppVServerSetting                           Citrix.AppV.Admin.V1                                
Cmdlet          Set-EnvTestConfiguration                           Citrix.EnvTest.Admin.V1                             
Cmdlet          Set-EnvTestDBConnection                            Citrix.EnvTest.Admin.V1                             
Cmdlet          Set-EnvTestServiceMetadata                         Citrix.EnvTest.Admin.V1                             
Cmdlet          Set-EnvTestTaskMetadata                            Citrix.EnvTest.Admin.V1                             
Cmdlet          Set-HypAdminConnection                             Citrix.Host.Admin.V2                                
Cmdlet          Set-HypDBConnection                                Citrix.Host.Admin.V2                                
Cmdlet          Set-HypHostingUnitMetadata                         Citrix.Host.Admin.V2                                
Cmdlet          Set-HypHostingUnitStorage                          Citrix.Host.Admin.V2                                
Cmdlet          Set-HypHypervisorConnectionMetadata                Citrix.Host.Admin.V2                                
Cmdlet          Set-HypServiceMetadata                             Citrix.Host.Admin.V2                                
Cmdlet          Set-HypVolumeServiceConfiguration                  Citrix.Host.Admin.V2                                
Cmdlet          Set-LicAdministrator                               Citrix.Licensing.Admin.V1                           
Cmdlet          Set-LicLACEnabledState                             Citrix.Licensing.Admin.V1                           
Cmdlet          Set-LogDBConnection                                Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Set-LogServiceMetadata                             Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Set-LogSite                                        Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Set-LogSiteMetadata                                Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Set-MonitorConfiguration                           Citrix.Monitor.Admin.V1                             
Cmdlet          Set-MonitorDBConnection                            Citrix.Monitor.Admin.V1                             
Cmdlet          Set-MonitorServiceMetadata                         Citrix.Monitor.Admin.V1                             
Cmdlet          Set-ProvDBConnection                               Citrix.MachineCreation.Admin.V2                     
Cmdlet          Set-ProvScheme                                     Citrix.MachineCreation.Admin.V2                     
Cmdlet          Set-ProvSchemeMetadata                             Citrix.MachineCreation.Admin.V2                     
Cmdlet          Set-ProvServiceConfigurationData                   Citrix.MachineCreation.Admin.V2                     
Cmdlet          Set-ProvServiceMetadata                            Citrix.MachineCreation.Admin.V2                     
Cmdlet          Set-ProvTaskMetadata                               Citrix.MachineCreation.Admin.V2                     
Cmdlet          Set-SfCluster                                      Citrix.Storefront.Admin.V1                          
Cmdlet          Set-SfDBConnection                                 Citrix.Storefront.Admin.V1                          
Cmdlet          Set-SfServiceMetadata                              Citrix.Storefront.Admin.V1                          
Cmdlet          Set-SfTaskMetadata                                 Citrix.Storefront.Admin.V1                          
Cmdlet          Set-UserProfileDefinition                          Citrix.UserProfileManager.Admin.V1                  
Cmdlet          Set-XDLicensing                                    Citrix.XenDesktop.Admin                             
Cmdlet          Set-XDLogging                                      Citrix.XenDesktop.Admin                             
Cmdlet          Set-XDMonitor                                      Citrix.XenDesktop.Admin                             
Cmdlet          Set-XDSiteMetadata                                 Citrix.XenDesktop.Admin                             
Cmdlet          Start-BrokerCatalogPvdImagePrepare                 Citrix.Broker.Admin.V2                              
Cmdlet          Start-BrokerMachinePvdImagePrepare                 Citrix.Broker.Admin.V2                              
Cmdlet          Start-BrokerNaturalRebootCycle                     Citrix.Broker.Admin.V2                              
Cmdlet          Start-BrokerRebootCycle                            Citrix.Broker.Admin.V2                              
Cmdlet          Start-CtxTraceSession                              Citrix.Common.Commands                              
Cmdlet          Start-EnvTestTask                                  Citrix.EnvTest.Admin.V1                             
Cmdlet          Start-HypVM                                        Citrix.Host.Admin.V2                                
Cmdlet          Start-LogHighLevelOperation                        Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Stop-BrokerRebootCycle                             Citrix.Broker.Admin.V2                              
Cmdlet          Stop-BrokerSession                                 Citrix.Broker.Admin.V2                              
Cmdlet          Stop-CtxTraceSession                               Citrix.Common.Commands                              
Cmdlet          Stop-EnvTestTask                                   Citrix.EnvTest.Admin.V1                             
Cmdlet          Stop-HypVM                                         Citrix.Host.Admin.V2                                
Cmdlet          Stop-LogHighLevelOperation                         Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Stop-ProvTask                                      Citrix.MachineCreation.Admin.V2                     
Cmdlet          Switch-EnvTestTask                                 Citrix.EnvTest.Admin.V1                             
Cmdlet          Switch-ProvTask                                    Citrix.MachineCreation.Admin.V2                     
Cmdlet          Test-AcctDBConnection                              Citrix.AdIdentity.Admin.V2                          
Cmdlet          Test-AcctIdentityPoolNameAvailable                 Citrix.AdIdentity.Admin.V2                          
Cmdlet          Test-AdminAccess                                   Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Test-AdminDBConnection                             Citrix.DelegatedAdmin.Admin.V1                      
Cmdlet          Test-BrokerAccessPolicyRuleNameAvailable           Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerAppAssignmentPolicyRuleNameAvailable    Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerAppEntitlementPolicyRuleNameAvailable   Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerApplicationNameAvailable                Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerAssignmentPolicyRuleNameAvailable       Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerCatalogNameAvailable                    Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerDBConnection                            Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerDesktopGroupNameAvailable               Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerEntitlementPolicyRuleNameAvailable      Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerLicenseServer                           Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerMachineNameAvailable                    Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerPowerTimeSchemeNameAvailable            Citrix.Broker.Admin.V2                              
Cmdlet          Test-BrokerRemotePCAccountNameAvailable            Citrix.Broker.Admin.V2                              
Cmdlet          Test-ConfigDBConnection                            Citrix.Configuration.Admin.V2                       
Cmdlet          Test-ConfigServiceInstanceAvailability             Citrix.Configuration.Admin.V2                       
Cmdlet          Test-CtxAppVServer                                 Citrix.AppV.Admin.V1                                
Cmdlet          Test-EnvTestDBConnection                           Citrix.EnvTest.Admin.V1                             
Cmdlet          Test-HypDBConnection                               Citrix.Host.Admin.V2                                
Cmdlet          Test-HypHostingUnitNameAvailable                   Citrix.Host.Admin.V2                                
Cmdlet          Test-HypHypervisorConnectionNameAvailable          Citrix.Host.Admin.V2                                
Cmdlet          Test-LogDBConnection                               Citrix.ConfigurationLogging.Admin.V1                
Cmdlet          Test-MonitorDBConnection                           Citrix.Monitor.Admin.V1                             
Cmdlet          Test-ProvDBConnection                              Citrix.MachineCreation.Admin.V2                     
Cmdlet          Test-ProvSchemeNameAvailable                       Citrix.MachineCreation.Admin.V2                     
Cmdlet          Test-SfDBConnection                                Citrix.Storefront.Admin.V1                          
Cmdlet          Test-UserProfileShare                              Citrix.UserProfileManager.Admin.V1                  
Cmdlet          Unlock-AcctADAccount                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Unlock-AcctIdentityPool                            Citrix.AdIdentity.Admin.V2                          
Cmdlet          Unlock-ProvScheme                                  Citrix.MachineCreation.Admin.V2                     
Cmdlet          Unlock-ProvVM                                      Citrix.MachineCreation.Admin.V2                     
Cmdlet          Unregister-ConfigRegisteredServiceInstance         Citrix.Configuration.Admin.V2                       
Cmdlet          Update-AcctADAccount                               Citrix.AdIdentity.Admin.V2                          
Cmdlet          Update-BrokerImportedFTA                           Citrix.Broker.Admin.V2                              
Cmdlet          Update-BrokerNameCache                             Citrix.Broker.Admin.V2                              
Cmdlet          Update-HypHypervisorConnection                     Citrix.Host.Admin.V2

Running a QFARM command in XenApp 7.x

As most of you are aware by now, Qfarm command doesn’t run anymore in XenApp 7.x as it is a part of old IMA architecture.

With FMA, there are several ways to check the Server load, the easiest being using Citrix Studio and checking Load Index.

However, there is another method to check the load from using a PowerShell window and it is as below.

asnp citrix*
Get-BrokerMachine –Filter ‘SessionSupport –eq “MultiSession”’ –Property @(‘DNSName’,’LoadIndex’)

Power Management of XenDesktop 7.x Delivery Groups – Prevent workloads from powering off when not in use

There are many a times when you would want to prevent XenDesktop/XenApp 7.x power management from powering off virtual machines in the catalog. If you ever wondered how to do it, here are the steps

Open the PowerShell in administrative mode on the Controller server

asnp citrix*
Set-BrokerDesktopGroup "Delivery group Name" -AutomaticPowerOnForAssignedDuringPeak $True

if the above doesnt fix it, then run the below command as well which will ensure that all the VMs are ready for connections all the time

Set-BrokerDesktopGroup "<Delivery group Name>" -PeakBufferSizePercent 100 -OffPeakBufferSizePercent -100

Citrix License Usage Monitoring using PowerShell

The below PowerShell script could be used to check and receive automated emails on the Citrix License usage. This script has been taken from the good work done on this website.

Where do you run this script?

Citrix License Server

How do you run this?

The script could be saved as a file with an extension of .ps1

Also ensure that you have a folder called report_do_not_delete created on the C: drive on the license server. Also make the relevant changes in the script marked in Red Run the script as a scheduled task at a specific time to receive the license usage reports in your mailbox or run it manually from a PowerShell window in Admin mode

#Region Settings
#Your License Server
$CitrixLicenseServer = “yourlicenseservername”

#Do you want to report on licenses with 0 users?
$ShowUnusedLicenses = $true

#Toggle an alert above this percentage of licenses used
$UsageAlertThreshold = 0

#EndRegion Settings

#Region CollectData
#retrieve license information from the license server
$LicenseData = Get-WmiObject -class “Citrix_GT_License_Pool” -namespace “ROOT\CitrixLicensing” -ComputerName $CitrixLicenseServer

$usageReport = @()
$LicenseData | select-object pld -unique | foreach {
$CurrentLicenseInfo = “” | Select-Object License, Count, Usage, pctUsed, Alert
$CurrentLicenseInfo.License = $_.pld
$CurrentLicenseInfo.Count = ($LicenseData | where-object {$_.PLD -eq $CurrentLicenseInfo.License } | measure-object -property Count -sum).sum
$CurrentLicenseInfo.Usage = ($LicenseData | where-object {$_.PLD -eq $CurrentLicenseInfo.License } | measure-object -property InUseCount -sum).sum
$CurrentLicenseInfo.pctUsed = [Math]::Round($CurrentLicenseInfo.Usage / $CurrentLicenseInfo.Count * 100,2)
$CurrentLicenseInfo.Alert = ($CurrentLicenseInfo.pctUsed -gt $UsageAlertThreshold)
if ($ShowUnusedLicenses -and $CurrentLicenseInfo.Usage -eq 0) {
$usageReport += $CurrentLicenseInfo
} elseif ($CurrentLicenseInfo.Usage -ne 0) {
$usageReport += $CurrentLicenseInfo
#EndRegion CollectData
$usageReport |Select-Object @{name=’Date-time’;Expression={Get-Date} },License,Count,Usage,PctUsed,Alert|ft -AutoSize|Out-File -Append C:\report_do_not_delete\$(get-date -uformat “%Y-%m-%d”).txt
#$usageReport | Format-Table -AutoSize | out-file “C:\reports\usagereport.txt”

Send-MailMessage -From “” -To “” -Subject “Citrix XenApp license usage – Daily Report” -Body “Citrix XenApp license usage – Daily Report” -SmtpServer “” -Attachments “C:\report_do_not_delete\$(get-date -uformat “%Y-%m-%d”).txt”

Storefront Multi-Site and High Availability – Guidelines for an Active-Active datacenter design

I am currently working on a XenDesktop 7.6 project that is designed to span 2 datacenters, Auckland and Sydney. One of the critical customer requirement is to redirect the user connections to their primary site regardless of their location first and failover to secondary site if the primary site is down. They also have a bunch of call center users in Manila, Philippines who should be assigned to primary site Sydney and Auckland as a failover site. Auckland users must be directed to Auckland XenDesktop site and Sydney users must be redirected to Sydney datacenter for their primary apps and desktops. There were also some additional requirements that are outlined below. In summary, the below are the technical requirements

  1. Redirect users to their nearest NetScalers
  2. Provide single published application icons for the same applications across both sites so that the application access is seamless to the user
  3. Users will be mapped to a primary site( Auckland or Sydney) and will need to failover to the secondary site in case of primary site unavailability
  4. Provide a single URL for application access for the users in all the sites, Auckland, Sydney and Manila.
  5. Any unique applications from both sites should be enumerated.
  6. There are certain applications that should be launched from one particular site for all the users due to the application backend requirements (limitations)

How do we achieve the above? This was something that was impossible to do with Citrix Web Interface up to versions 5.4. Wait, there is some hope.

XenDesktop Site Details

Auckland XenDesktop site consists of XenDesktop 7.6 site alongside Storefront 2.6 cluster with 2 nodes and NetScaler 10.5 for GSLB.

Sydney site also has a distinct XenDesktop site with a SF cluster with 2 nodes and a NetScaler for GSLB ( All same versions as in Auckland)


Let’s look at how each element should be designed to achieve the above stated requirements.

Requirement 1 – Redirect users to their nearest NetScalers

This is quite an easy one and we would have done this countless times in our previous projects – yes, the good old GSLB ( Global Server Load Balancing). I am not going to reinvent the wheel here as there are some fantastic literature about this already from Citrix and from Carl Stalhood. I recommend the one from Carl as he has the latest one based on NetScaler 10.5

Requirement 2 – Provide single published application icons for the same applications across both sites so that the application access is seamless to the user

I am sure this is quite new to a lot of people out there, at least for me it was. This is where Storefront comes in. Citrix has built some excellent intelligence around Storefront to achieve this quite easily. This feature is technically called Resource Aggregation. There is an good explanation on this from Citrix here which i recommend every one to read. The key for this to work is to keep the application and desktop names the same across both XenDesktop sites. The path of application executables must also match for this to work. if there are differences, then they will be shown up as separate applications.

Also please note that AppController applications cannot be aggregated via this method.

Here is an excerpt from Citrix edocs on the above with changes relevant to my setup “Where a desktop or application with the same name and path on the server is available from both Sydney and Auckland, StoreFront aggregates these resources and presents users with a single icon. This behavior is a result of setting the aggregationGroup attribute to AggregationGroup1 for both the Sydney and Auckland deployments. Users clicking on an aggregated icon are typically connected to the resource in their location, where available. However, if a user already has an active session on another deployment that supports session reuse, the user is preferentially connected to the resource on that deployment to minimize the number of sessions used.”

Requirement 3 – Users will be mapped to a primary site( Auckland or Sydney) and will need to failover to the secondary site in case of primary site failure

The idea here is to split the users into 2 groups and assign them a primary site – In the end, one group will have the primary site assigned as Auckland and the other with primary site assigned as Sydney.

The key here is to add the users to separate AD groups for each sites and configure the XenDesktop sites/farms in a specific order (Manage Delivery Controllers in SF) and use the word “Failover” in Storefront configuration. I will get to this in detail in the Setup section below.

Requirement 4 – Provide a single URL for application access for the users in all the sites, Auckland, Sydney and Manila.

GSLB could do this quite easily. Please refer to the above links

Requirement 5 – Any unique applications from both sites should be enumerated.

This is already explained in parts under Requirement 2. If there is a case where any unique applications are to be delivered from one site for all the users, all that is required to be done is to publish that application in the relevant site. The application will appear when the enumeration is done and clicking it will take the users to the site from where the application is published.

Requirement 6 – There are certain applications that should be launched from one particular site for all the users due to the application backend requirements (limitations)

This use case is relevant when there are 2 or more applications with the same name across datacenters and you would need your users to always go to one datacenter to launch it. if the application isnt available at the primary datacenter, then it will be launched from the secondary datacenter. This is done by adding “Primary” and Secondary” keywords in the application description. Doing this will override the application load balancing/Failover rules specified above and will attempt to launch first from the Primary site. if the primary site app isn’t available for any reason, launch it from the Secondary site.

How this is all setup in Storefront

All the configurations are made in Web.Config file residing on the Storefront servers. Please also note that the changes must be made to the config file of the Stores and not the Web version of the Stores.

Now before you get started with the configuration, there are a few things that you need to have beforehand to make your life easier. XML Notepad will be one of them and the other will be the sample configuration from Citrix which could be found here

I recommend using XML Notepad as it makes the Web.Config file look ridiculously simple.

Getting Started

Create the Store as you usually do via Storefront Console. Update the information under “Manage Delivery Controllers”. Also ensure that you add the secondary site info as well in here now. This piece is very important in the process as the names that are used here will be reused in the Storefront configs later on in the Web.Config file. Once you make changes to Web.Config file, you cant change the “Manage Delivery Controllers” section via the GUI anymore for that store.

My Sydney Storefront cluster store will look like this after configuration. Please also refer the order of the sites – very important. First one must be Sydney followed by Auckland.

Sydney Site is called SYD and Auckland site is called AKL


Those who have keen eyes must also have noticed that the “Edit” button is missing from the above. This is the file after the changes are made.

My Auckland Storefront cluster will have the above settings reversed.

Now create 2 AD Groups – One to host Sydney users and another one for Auckland Users. Add the users accordingly to it.

Get the SID of these groups – I used Sysinternals PsGetSid tool

Now to the main part, Web.Config file changes

Web.Config file

All StoreFront store configurations can be found in the respective web.config file  .\inetpub\wwwroot\Citrix\\web.config.

This is where we add the configuration for StoreFront High availability.

For convenience, I made a backup copy of the web.config file before making any changes.

As you will be making a lot of changes it is much simpler to edit the file direct on the server and not have to keep copying it back and forth to your machine each time.

I recommend you copy the example configuration from Citrix from here

Then in XML notepad, expand citrix.deliveryservices –> resourcesCommon and delete anything underneath resourcesCommon

Then right click citrix.deliveryservices and click paste.

Your web.config should now look like this


Delete 2 references to “equivalentFarmSet” under the node “equivalentFarmSets” and the config file should look like the below. You would also need to remove one “farm” and a backup reference. Overall It should look like the below. If it doesn’t, you are not going to achieve what you need.


Now start populating the data values on the right and mine looked like the below after the config.


The ones marked with red dots are descriptors so you could add what you like there.

Once you have done that, you have half of the logic in place. now for the other half, copy the node “UserFarmMapping” and paste it under “UserFarmMappings”. Look for the extra “s”😄

Once copied, you will need to reverse the entries for the failover to work. The copied part looked like this after the final config


This is the final configuration below for the Sydney Storefront cluster. Save the Web.Config file. Close the file. Make sure that the changes are propagated to the other SF servers in the Sydney cluster using the GUI.


Now, I will have to repeat the same process for the Auckland Storefront cluster in residing in Auckland datacenter

Just reverse all the settings that are made above and to those who are still confused on how it all should look like at the other end, below are a couple of screenshots from Auckland side.


This is how the Store config is via the GUI in Auckland. Look at the order as I want the Auckland site to be processed first followed by Sydney controllers


Citrix Studio Configuration

Add the Auckland_Test_Users AD group to the Delivery Group in Auckland site.


Now how do you get the failover to happen to Sydney for Auckland users?? Well, create another 2 groups – one for Auckland and another for Sydney. use the Sydney group and add it in Auckland Delivery group. I didn’t talk about the extra 2 groups in the beginning to keep it simple. In fact you will need 2 AD groups per datacenter site. In my screenshot above, i used an account for testing – sydctxuser

Now the Sydney Delivery group is configured as below


Please note that the Auckland account is added for failover. Use the second Auckland group in here in a production setup.

There you have it. You have a storefront that is intelligent enough enough to route the users based on their mappings and provide high availability. Also here is a copy of the configuration part of the web.config file as a sample below. Just change the items marked in BOLD except for “Default” entries


        <resourcesWingConfiguration name="Default" wingName="Default">
            <clear />
            <userFarmMapping name="Sydney_user_mapping">
                <group name="BCS\Sydney_Test_Users" sid="S-1-5-21-1752688384-406871208-1000598102-10304" />
                <equivalentFarmSet name="SYDNEY" loadBalanceMode="Failover" aggregationGroup="AggregationGroup1">
                    <farm name="SYD" />
                    <farm name="AKL" />
            <userFarmMapping name="Auckland_user_mapping">
                <group name="BCS\Auckland_Test_Users" sid="S-1-5-21-1752688384-406871208-1000598102-10303" />
                <equivalentFarmSet name="AUCKLAND" loadBalanceMode="Failover" aggregationGroup="AggregationGroup1">
                    <farm name="AKL" />
                    <farm name="SYD" />

The curious case of NetScaler access with error message ” The Connection to “Desktop” failed with status (Unknown client error 1110)”

I was pulled into to look at a problem for one of our customers with their Netscalers which stopped the user connections intermittently throwing a very “helpful” error message ” the connection to the desktop failed with status (unknown client error 1110).

The customer description was “it only started to happen a few weeks ago and these days its quite impossible to land a successful connection from the outside of our corporate network”

I managed to get a couple of screenshots of error messages from the users and they appeared like below. When queried, the internal access via Storefront is working fine.


Looking at the error message, there are a multitude of reasons why you would get that and i am outlining the common areas to look in such cases.

  • Check if the Root certificates and intermediate certificates are available on the client devices. If frequently patched, the client will most probably have the latest and update Root CA’s from various public CAs. Check the IE’s / Other browsers’ certificate store to verify the Root and Intermediate CA SSL certs
  • If using non-IE browsers for connectivity, switch over to IE to see if it connects. IE is the safest bet when it comes to connectivity to Citrix environments.
  • Check for SSL ciphers attached to the NetScaler Gateway vServer. If high security ciphers are used, this issue may occur. relax the cipher suites to see if that makes a difference. Again, if cipher suites are an issue, the issue will occur every single time when you connect and not sporadically.
  • Check the STAs on the NetScaler and ensure that it matches with the STAs configured on the  WI/Storefront. This is one of the most important setting to check and probably the first one to check if the issue occurs only sporadically. There is a high possibility of an STA mismatch as it turned out to be in my case.





XenApp & XenDesktop 7.x – Error “Incompatible Settings on SDK” on Delivery Groups

My colleague came across this error message while working with a customer where he had to prevent Citrix Desktops from being shown to users if they are in a particular AD group. He didn’t recall what he did wrong but he ended up with Desktops doubling up for a standard user who isn’t a member of exclusion group.

Inspecting the delivery group, he noticed Desktops per user settings  under User Settings has a different value “Incompatible Settings on SDK


Querying the Delivery group


Going through the results, there is an additional desktop without any filtering applied. The fix is to remove the additional desktop. In his case, it was named was “Desktop_2”

Remove-BrokerEntitlementPolicyRule -Name "Desktop_2"

Running the get command shows the below results.. the second desktop is gone!!!


Hopefully this helps someone.

XenApp & XenDesktop 7.x – Logon delay of 20 seconds at ” Please wait for Citrix User Profile Manager”

If you ever have a situation where your Citrix logons sits on “Please wait for Citrix User Profile Manager” for around 20 – 25 sec, you have come to the right post. I have had this strange one where users started to see their logons taking longer than usual. Below is my setup and your results may vary depending on the UPM version that you are running

  • XenApp 7.5 site
  • Server 2012 R2 VDAs
  • Citrix UPM 5.1
  • McAfee AV 8.8

Issue Manifestation – Delay of 20-25 seconds on ” Please wait for Citrix User Profile Manager” and this was consistent.

Remediation – Turn ON Citrix Profile Streaming

I am partially to blame for this issue as I had turned OFF Profile Streaming when I had my users complaining that the logoff was taking a little while. Now i need to figure out what is causing the logoffs to take roughly 10 seconds to complete. Already looked at the AV side of things and i have the required Exclusions. Hunt continues and will update with the findings..

So that’s a quick one there for you guys and hopefully someone will find it useful. If you find it working/not working for you, let me know