So What's This All About

The purpose of this site

I started off my career in IT 25 years ago as a COBOL Programmer in South Africa and have progressed (or some may say regressed) to consulting on virtualization technologies. I created this site to share my experiences with virtualization and cloud computing, as well as the latest virtualization news, tips, tricks and tools from other experts in the field.

Online Training

Free XenApp 7.6 Training

This free, one-hour online course provides an introduction to Citrix XenApp 7.6. Students will explore key components required in a XenApp 7.6 implementation, the FMA-based architecture, as well as key use cases.

Click here for the course details

Keep Tabs on Me

Social media links

RSS Feed 2.0


How to Add a Custom Banner to the Logon Page of StoreFront 2.x, Director 7.x, or Citrix License Server 11.x

An article by Elizabeth Masson from Citrix Blogs

Customizations allow Citrix customers to make web pages reflect company logos, color schemes, marketing styles, and sometimes, even security banners.  However, customizations require in-depth knowledge of the structure and coding behind each web site.

Some customers require that all levels of authentication (all logon pages) display security banners which outline the rights to privacy (or lack thereof) when accessing their sites.  In this case, a simple change to the web page code results in the addition of text – a security banner – near the authentication fields which is visible each time a user logs onto the site.

Some customizations are heavily documented – check out blogs like this one by Feng Huang – however, the addition of a security banner, or floating text, was not expressly discussed.

This article contains information about the customization of the logon page of StoreFront, Director, and Citrix License Server web pages.  Note that this is a basic banner configuration and changes to the specific size, font, and color can be made to fit custom requirements.

After working with members of the CCS team who have implemented various customizations in the past, we have consolidated our findings into a single reference point.  I would like to give a special thank you to Wonmin Lee, William Elvington, Steven Krueger, Dan Morgan, Felipe Bernal, and Kelsey Kempler for their help in the creation of this blog.  

Customizing the Logon Page for StoreFront Servers

This section explains how to customize the banner on Citrix StoreFront 2.x servers. The following configurations within the contrib folder will propagate the changes to all StoreFront servers.

  1. On a StoreFront server, navigate to C:/inetpub/wwwroot/Citrix/<StoreName>Web/contrib.
  2. Locate and create a copy of the custom.script file in the same location as backup – in the case that the changes need to be reverted, the copy can be used to replace the custom.script file to return to the original code.
    custom.script – Copy.js

  4. Open the custom.script file in Notepad (as Administrator).
  5. Enter the following text as shown and click Save:

    $(document).ready(function() {
    var $markup = $(‘<div id=”bottom”><p class=”_ctxstxt_BANNER”></p></div>’);

    *Note that if copying and pasting code directly from this blog, the single and double quote symbols may not paste correctly and may require manually erasing and re-typing those symbols in Notepad. This applies to all code snippets throughout this blog.

    Read More


Receiver for Web UI Themes

An article by Feng Huang from Citrix Blogs

Recently, we produced a ready-made customization package that provides a dark theme and a light theme. This can be used as a base for you to make your own theme for your Receiver for Web site.

The Receiver for Web 2.6 themes customization package is available to download here . Please see the readme file in the download package for details on how to apply the customization.

Dark theme




Read More


Citrix Director 7.6 Deep-Dive: Part 8 Hosted Application Usage Reporting

An article by Lisa Green from Citrix Blogs

We’ve come to the end of the “What’s New in Director 7.6”  series.  Back in July, I posted a blog on the upcoming “Hosted Application Usage feature” that was delivered with XenApp/XenDesktop 7.6.  I highlighted the importance of being able to report on peak concurrent usage and some of the hosted application metrics that we provide.

Now, let’s dive a bit deeper to explain the details around this feature.

High level design

In XenApp/XenDesktop 7.6, we extended the monitor service data model to track hosted application usage counts and durations.  This information will be exposed via the Director console and the OData API, essentially collecting and storing this data into the monitor database.  The following diagram shows the high level architecture.














Usage metrics collected

Understanding the hosted application usage metrics will help you interpret the charts and data shown in Director.  Our OData APIs use these same metrics and are available for custom report creation.

Application Instances

  • Total count of application instanced running at any point in a date range (e.g. one hour, one day, one week)
  • Count of running application instances grouped by application (counts grouped)
  • Count of running application instances group by application and by user (counts grouped)
  • Top n applications (grouped by application and the sorted by running instances count)
  • Bottom n applications (including unused)

Application Duration

  • Average duration per application per user for the time period
  • Total duration per application per user for a date range

Application Launches

  • Count of the number of times an application was successfully started in the time period.  A reconnect does not count as a launch.

Concurrent Applications

  • Peak concurrent applications for a time interval (hourly, daily, etc.) trended over a date range
  • Peak concurrent application instance for a specific application for a time interval over a date range
  • Top n peak concurrent applications over a date range (click on column to sort in descending order)
  • Bottom n peak concurrent applications over a date range (including unused, click on column to sort in ascending order)

Distinct Users Running Applications

  • Number of distinct users
  • Number of distinct (unique) users running a specific application for a time interval trended over a date
  • Peak Count of distinct users running a specific application for a time interval (i.e. hours over a date range

Trends reports

Types of reports

With the metrics collected above, we have created two new reports in the Trends view of Director.

  • Usage trends for all hosted applications with a per application breakdown
  • Usage trends for a particular application with a breakdown by user

Report filters

Director supports the ability to filter in all of the Trends reports.  This same framework applies to the Hosted Application Usage reports.  The administrator can select “All hosted applications” (default), or “Single application”.

Types of filters:

  • Delivery group – restricts the report to a specific Delivery Group. By default, “All” is selected which assumes all accessible Delivery Groups.
  • Time period – the time period selector is standard with other Trends reports.  Administrators may choose a selection in the drop down (last 24 hours, last 7 days, last month, last year) and select either “Ending now” or a custom date.

If the “Single application” is selected, a search box will be presented and the administrator can then search for a specific application.

Hosted Application Usage report

Below is a sample screenshot of the report in the Trends view: 

The Hosted Applications usage chart displays an aggregated view of hosted application usage over the time period selected for the applications.  When “All” is selected, the chart displays metrics for the total hosted applications during that time period.  Hovering over a data point displays tool tip details associated with that data point.  The usage chart shows applications used during the time period.  This excludes:

  • Hosted applications created after the end of the time period
  • Hosted applications that were deleted before the time period
  • Hosted applications that are no longer visible due to changes in Delegated Administration (DA) permissions (DA scope is enforced based on current state)

The chart metrics show the counts of peak concurrent application instances.

Application Based Usage table

The table below the chart shows the metrics for the same time period selected in the report filter. The metrics are broken down by each application and each column is sortable (least/most) and scrollable. Clicking a specific application will navigate to an application specific report for that application.

Table metrics definition and metrics:

Read More


Citrix Director 7.6 Deep-Dive Part 7: New Trends Reporting Features

An article by Bharathi Issac from Citrix Blogs

In Director 7.0, we introduced the “Trends View” which shows historical charts and data to help with troubleshooting, (answer questions about what may have led up to an issue), and to enable EdgeSight performance management (trend data for detailed performance management, capacity management, and SLA monitoring).


This blog is about the new features in the Trends view delivered with Citrix Director 7.6.

Improved and Customizable Time Period Selector

Two new features have been added to the Trends filter criteria where you can choose a time period, e.g. “Last 2 hours,” and you can choose a customizable end for the time period. This gives you greater flexibility for trend analysis.

For example: if you want to analyze trends for the number of concurrent sessions for the last two hours, you can select the appropriate Delivery Group and select “Last 2 hours” from the time period and you’ll see the trend for the concurrent sessions for the last two hours.  When coming from the Director dashboard to Trends, the default will be the “Last 2 hours” as this provides the last two hours leading up to the charts shown in the dashboard.

Improved and Customizable Time Period Selector


Another example: In the event you  want to find out about the Failed Desktop OS Machines for your company’s financial year (which spans from Sept. 2013 to Sept. 2014) then you can select the time period as “Last Year” and then choose “Custom” in the ending and chose a date in Sept. 2014. This will give you insights into the trends for Failed Desktop OS Machines for your company’s financial year.

Improved Time Period Selection


Improved visibility

We also improved the visibility of the charts by redesigning the data points. In our previous releases, the data points were too close together, making the charts difficult to read and navigate.  Below is a table with the updated data points:

Read More


Two factor authentication with specific customized NetScaler Gateway logon pages.

An article by Steven Wright from Citrix Blogs

Those who know me are aware that I’ve got a keen interest in two-factor authentication.  So, I was very interested when my colleague, Chris Jeffrey, called attention to the fact that two-factor doesn’t work with multiple NetScaler Gateway logon points when using specific customized logon pages.

Specific customized logon pages allow you to display a different logon page for each NetScaler Gateway vServer.  This could be a real advantage in a cloud-hosting environment where multiple customers connect via the same VPX and each logon point needs to include unique company branding elements.

But, a significant problem occurred because users don’t see a second password prompt on any customized logon point beyond the first. The password prompt used for PIN or token simply doesn’t appear despite CTX123736 having been followed perfectly even with the most minimal of customizations and it’s not at all clear why. I like a puzzle and decided to investigate.

Read on to learn the cause and the solution.

Read More


Installing XenApp or XenDesktop 7.x, Does It Matter Which One You Select?

An article by Carl Webster from Carl Webster

I am writing some “How To” articles for a customer. I am trying to figure out exactly what happens when XenApp and XenDesktop 7.6 are installed.  There are two options for the install:

Figure 1

Figure 1

From my testing I see no difference in what gets installed regardless of which option is selected.

I was supplied with current licenses for XenApp 6.5 and XenDesktop with Subscription Advantage dates of 11/11/14 for my testing.

I created two Virtual Machines (VM) using Server 2012 R2. In one I installed the XenApp option and in the other, I installed the XenDesktop option.

Using the built-in 30-day evaluation license, there was no difference in functionality between the two installs.

I installed the XenApp 6.5 license file into my XenApp VM and changed the Product Edition to XenApp Platinum, Concurrent User.

Figure 2

Figure 2

I then went to create a Machine Catalog in my XenApp VM to see if I had the option to create a Desktop OS catalog. And yes, I did have that option.  Only Remote PC was greyed out.

Figure 3

Figure 3

When I tried to create a Delivery Group, there was a message that Desktops are not available for this license edition.

Figure 4

Figure 4

Note: The applications option is for VM Hosted Apps.

I then removed my XenApp license file, returned and reallocated my XenDesktop license to my XenApp server and changed the product edition from XenApp Platinum to XenDesktop Platinum.

Figure 5

Figure 5

And I could now create a Delivery Group for Desktop OS.

Figure 6

Figure 6

It makes no difference which option you select when you install XenApp or XenDesktop 7.x. All functionality is controlled by the license file and product edition.

I did not uninstall, reinstall or change anything in the installation.  All I had to do was install a new license file and change the product edition to gain new functionality.





You just finished reading Installing XenApp or XenDesktop 7.x, Does It Matter Which One You Select? by Carl Webster. Please consider leaving a comment!


XenApp 6.5 to 7.6 Migration: Selectively Importing Applications

An article by Evin Safdia from Citrix Blogs

The XenApp 6.5 to XenApp 7.6 Migration Tool consists of a series of easy to use PowerShell Scripts

These export Farm and Policy data from XenApp 6.5 to XML files. These XML files are then imported via script into an existing XenDesktop 7.6 site. The scripts are available from the XenApp 7.6 product download page, you will have to login with an appropriate Login ID in order to access the Product Software page:

Using the scripts is straightforward and Citrix eDocs provides detailed instructions:  

Once you have the exported the XML files you can do selective imports by adding the –MatchFolder  or –NotMatchFolder modifiers. For example, your XenApp 6.5 farm has an application folder named EMEA that contains the following folders: Sales, IT Support and Accounting. You can use the following command to import the applications from the Sales and Accounting folders, but skipping the IT Support folder:

Import-XAFarm –XmlInputFile myFarmFile.xml
 –MatchFolder "Applications/EMEA" –NotMatchFolder "Applications/EMEA/IT Support"

Additionally, you could instead specify just the Sales and Accounting folders for import, skipping all others with the following command:

Import-XAFarm –XmlInputFile myFarmFile.xml
 –MatchFolder "Applications/EMEA/(Sales|Accounting)"

Read More


Should I upgrade from XenApp 7.5 to XenApp 7.6?

An article by Daniel Feller from Citrix Blogs


After delivering the XenApp 7.6 Upgrade webinar

I received a few questions asking if it is a good idea to upgrade from XenApp 7.5 to XenApp 7.6.

My first reaction is, “Of course you should. Why wouldn’t you?”


But I’m a little biased J

You need to ask yourself if the new features within XenApp 7.6 are important enough to upgrade. Look at the following subset of features and determine if they are something that would be valuable for your users and admin:

  1. Unauthenticated Logons: This feature allows a user to access an application without being required to authenticate. This feature is mostly used in healthcare. If you need this, you must go to XenApp 7.6 feature
  2. Connection Leasing: You ever watch Star Trek and you hear the engineers talk about having secondary backups? A secondary backup won’t let your starship reach Warp 9, but it will keep your ship from exploding. That is essentially what connection leasing does for your XenApp site. Your first layer of backup is configuring your database to be highly available (mirroring, clustering or AlwaysOn). If that fails, you want to have a secondary backup, which is connection leasing. Another XenApp 7.6-only feature

Read More


Citrix Director 7.6 Deep-Dive Part 6: Better performance, easier workflows

An article by Bharathi Issac from Citrix Blogs

We have improved Director in many ways, not only with added features but also continuing to improve performance and capabilities.  We have improved the performance of the user search, in addition to adding the ability to search for machines and endpoints.  Easing workflow, from Filters view to the various Details views, drill down capability in the Trends tables provide details around each of the Trend reports, helps the administrator to reduce the time to resolution, ultimately improving customer satisfaction.

Search Users, Endpoints and Machines

Expanded search capabilities

Using the new improved search, you can not only search for users connected to your site but also search for machines and endpoints. The machines include the desktops and workers being used by the users and the endpoints include client devices. Searching using the endpoints is especially useful in case of anonymous (unauthenticated) users. Additionally, the UI has been updated and provides a better user experience.

Improved Search


Imagine this, a Help Desk Admin receives a call from a nurse (end user) at the hospital. In the health care industry, thin clients are predominately used.  Many times the end user who is having the problem doesn’t know the username of the session, as they are not required to login because the session is “unauthenticated”.  Instead, the user can use the client endpoint name that the end user is accessing (physical device).  A lot of times, the endpoint name has been documented using a sticker stuck to the thin client or on the screen. When the nurse reports a problem, they can now give the client endpoint name shown on the sticker and the Help Desk Admin is able to search for that name and returned the client session details view to begin troubleshooting and quickly resolve the issue.

Machine search is a handy way to search for a specific machine name and troubleshoot issues related to specific machines.  For example, XenApp users are complaining about slowness of their hosted application.  Let’s say that the hosted application is published on the server “XAWorkerA”.  The admin can now select the machine for the search and enter “XAWorkerA”.  They will be returned the Machine Details view and are able to troubleshoot that machine.

Grouping Machines and Endpoints

Director queries the broker when asked to search for machines or endpoints. In a large environment the search response may be slow as it enumerates all of the machines/endpoints. In order to improve performance, we have provided the ability to “group” machines/endpoints. This is accomplished via the Director Config Tool, which restricts the search within a defined group. How do you group machines? All you have to do is run the Director Config Tool, select /createsitegroups, provide the IP and a name and your done!  Once the configuration is complete, the “Select a group” option will be available as shown below.

Read More


Citrix Director 7.6 Deep-Dive Part 5: Monitoring & Troubleshooting Anonymous User Sessions

An article by Vindhya Gajanan from Citrix Blogs

Anonymous (unauthenticated) user session support

A new feature of XenDesktop 7.6.

Instead of requiring users to log into Citrix Receiver with Active Directory user credentials, a combination of network security and authentication within the application itself is relied upon.

Anonymous Session Support -refers to running sessions as a set of pooled, local user accounts.

1.  This feature is popular in XenApp in the healthcare industry, since their applications typically have server back-ends with their own logons, separate from users’ AD accounts. Thus, the Windows account running the client application is irrelevant.

2,  Anonymous Session support consists of a pool of local user accounts that are managed by XenDesktop and typically named AnonXYZ, where XYZ is a unique 3-digit value.

More information on Anonymous Session Support feature is available here.

With anonymous sessions, the end user will not know the actual username.}

Each anonymous session is assigned a random name such as ANON001, ANON002, etc.,

1,  Citrix Director helps administrators to view details of each session of XenApp via User Search.  But here is the catch, how to view details of anonymous user session as they do not use Active Directory credentials for the session and the end user has no way to know what the username is?

2,  The Helpdesk Admin needs a way to be able to search for the user’s specific anonymous session, return the Help Desk view and User Details views in order to follow their standard troubleshooting processes.


EndPoint Search

The new functionality introduced for Citrix Director 7.6

It can be leveraged to view details of anonymous user sessions. Typically, the end user will know the name of their endpoint as many times there is a sticker attached to the screen or device with the device (endpoint) name.  When the end user calls into the help desk, they can now tell the Help Desk admin the endpoint name so the Help Desk administrator can start the troubleshooting process using Director.

1,  Sessions running on a particular endpoint device can be viewed through Endpoint Search functionality.

2,  Administrators can search for the client device and a list of all the sessions launched by that particular client are provided (as shown in the below screenshot), from which the administrator can choose the required session to view details of that session.

3,  Searching for an endpoint can be expensive across a large number of sites.

In order to improve performance, we have provided the ability to “group” endpoints. This is accomplished via the Director Config Tool, which restricts the search within a defined group. How do you group endpoints? All you have to do is run the Director Config Tool, select /createsitegroups, provide the IP and a name and your done!  Once the configuration is complete, the “Select a group” option will be available as part of the search view.


Note: Endpoint Search results include all clients from which a session is launched irrespective of whether the session is an anonymous user session or not.

If Director is monitoring multiple sites, the landing page after login will have search option for endpoint.



Within another view of Director, administrators can search for endpoint sessions using the new Search button on the ribbon bar of Director:


Read More