ControlUp exposes a new Script Based Action (SBA) which lays the groundwork for our brand new HDX simulator. This script allows sysadmins to initiate HDX connections to XenApp servers and get back a report about the status of those servers (connection established successfully, or, in case of failure it includes the specific error code that led to this failure).
HDX stands for “High-Definition eXperience” and is built on top of Citrix’s ICA remoting protocol. Through our SBA technology, ControlUp allows sysadmins to write and download PowerShell, VBS and even regular command line batch files. ControlUp’s SBA inventory consists of scores of available scripts and all these scripts are included in ControlUp’s basic license.
Often times basic VM-level metrics for XenApp servers don’t tell the whole story. A XenApp server can be up and running, while not responding to ICA connections. Here are some examples for reasons to check up your server’s responsiveness with our HDX simulator script:
ControlUp’s HDX simulator SBA allows sysadmins to quickly test XenApp farm connectivity status and receive a detailed error code if there is indeed a connectivity issue.
The script outputs the XenApp farm’s current status from an ICA responsive aspect. It shows results whether the session accessed or not and if not, the script reveals why it failed.
Executing ICA Actions:
All you have to do in order to use ICA actions in PowerShell is to use the ICA library that comes out-of-the-box on any ICA regular installation. Just load WfIcaLib.dll to PowerShell and then you’re good to go. Refer to Citrix’s documentation to find out which actions are available to you.
Like any ICA script, this HDX simulator SBA essentially loads the DLL before it starts to use ICA commands. After the script loads the DLL, it creates a new ICA object which basically has all ICA-related parameters – anything from the color bitness, through audio mapping, to windows resolution, etc. The script launches an ICA connection after it finishes initializing the ICA object. Once the session is launched, the original ICA object we created will hold an error message in the method: $ICA.GetLastError(). This error message will stay there until the object initializes again.
The list of errors this script can output is long and is available on page 300 of the ICA Object Guide. The most common errors we observed were:
Again, here too, the list goes on and on. There are more than 130 error codes that could cause an ICA session to fail. ControlUp is able to find the error within a few seconds using our SBA technology and grouping method. The SBA mechanism divides outputs from each and every server into groups, according to output content:
This helps administrators find the gaps and get a list of the servers with the errors for remediation.