• XenApp 6 and 6.5 Documentation Scripts Updated October 9, 2011

    Fellow CTP Wilco van Bragt, e-mailed me and told me that in my XenApp 6.5 script the Health Monitoring & Recovery (HMR) policy setting was not formatted properly. It took a little while to figure out how to work with the XML data returned by that policy setting. This also needed to be fixed in the XenApp 6 documentation script.

    Here is what the policy setting looked like before:

    Computer settings:
    Server Settings\Health Monitoring and Recovery\Health monitoring - Value: Enabled
    Server Settings\Health Monitoring and Recovery\Health monitoring tests - Value: <HMRTests xmlns:
    xsi='http://www.w3.o
    rg/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' version='0'><Tests><Test name='Citrix IMA Serv
    ice test' file='Citrix\IMATest.exe' description='This test queries the service to ensure that it is running by enumerat
    ing the applications available on the server.' interval='60' threshold='5' allowRunningCustomHmrTests='true' timeout='6
    0' recoveryAction='AlertOnly' /><Test name='Logon Monitor Test' file='Citrix\LogonMonitor.dll' arguments='/SessionTime:
    5 /SessionThreshold:50 /SampleInterval:600' description='Logon/logoff cycles are monitored to determine whether there i
    s a problem with session initialization or possibly an application failure. If there are a lot of short cycles within
    a short time period, a problem is assumed to exist.' interval='1' threshold='5' allowRunningCustomHmrTests='true' timeo
    ut='1' recoveryAction='AlertOnly' /><Test name='XML Service test' file='Citrix\RequestTicket.exe' description='This tes
    t requests a ticket from the XML service running on the server and prints the ticket.' interval='60' threshold='5' allo
    wRunningCustomHmrTests='true' timeout='60' recoveryAction='RemoveServerFromLoadBalancing' /><Test name='Terminal Servic
    es test' file='Citrix\CheckTermSrv.exe' description='This test enumerates the list of sessions running on the server an
    d the session user information, such as user name.' interval='60' threshold='5' allowRunningCustomHmrTests='true' timeo
    ut='30' recoveryAction='AlertOnly' /></Tests></HMRTests>
    

    Here is what it looks like now:

    Server Settings\Health Monitoring and Recovery\Health monitoring - Value: Enabled
    Server Settings\Health Monitoring and Recovery\Health monitoring tests - Value:
    	Name: Citrix IMA Service test
    	File Location: Citrix\IMATest.exe
    	Description: This test queries the service to ensure that it is running by enumerating the applications available on the server.
    	Interval (seconds): 60
    	Time-out (seconds): 60
    	Threshold: 5
    	Recovery action: AlertOnly
    
    	Name: Logon Monitor Test
    	File Location: Citrix\LogonMonitor.dll
    	Arguments: /SessionTime:5 /SessionThreshold:50 /SampleInterval:600
    	Description: Logon/logoff cycles are monitored to determine whether there is a problem with session initialization or possibly an application failure. If there are a lot of short cycles within a short time period, a problem is assumed to exist.
    	Interval (seconds): 1
    	Time-out (seconds): 1
    	Threshold: 5
    	Recovery action: AlertOnly
    
    	Name: XML Service test
    	File Location: Citrix\RequestTicket.exe
    	Description: This test requests a ticket from the XML service running on the server and prints the ticket.
    	Interval (seconds): 60
    	Time-out (seconds): 60
    	Threshold: 5
    	Recovery action: RemoveServerFromLoadBalancing
    
    	Name: Terminal Services test
    	File Location: Citrix\CheckTermSrv.exe
    	Description: This test enumerates the list of sessions running on the server and the session user information, such as user name.
    	Interval (seconds): 60
    	Time-out (seconds): 30
    	Threshold: 5
    	Recovery action: AlertOnly
    
    

    Looks a little better now. Here is the relevant PowerShell code:

    If($Setting.HealthMonitoringTests.State -ne "NotConfigured")
    {
    	line 3 "Server Settings\Health Monitoring and Recovery\Health monitoring tests - Value: "
        # remove the spaces in the [ x m l ] you see below in front of $XML
        # the code format utility I am using uses that for its own use
    	[x m l]$XML = $Setting.HealthMonitoringTests.Value
    	ForEach($Test in $xml.hmrtests.tests.test)
    	{
    		line 4 "Name: " $test.name
    		line 4 "File Location: " $test.file
    		If($test.arguments)
    		{
    			line 4 "Arguments: " $test.arguments
    		}
    		line 4 "Description: " $test.description
    		line 4 "Interval (seconds): " $test.interval
    		line 4 "Time-out (seconds): " $test.timeout
    		line 4 "Threshold: " $test.threshold
    		line 4 "Recovery action: " $test.recoveryAction
    		line 0 ""
    	}
    }
    

    NOTE: This script is continually updated.  You can always find the most current version by going to https://carlwebster.com/where-to-get-copies-of-the-documentation-scripts/

    , ,

    About Carl Webster

    Webster is a Sr. Solutions Architect for Choice Solutions, LLC and specializes in Citrix, Active Directory and Technical Documentation. Webster has been working with Citrix products for many years starting with Multi-User OS/2 in 1990.

    View all posts by Carl Webster

    to “XenApp 6 and 6.5 Documentation Scripts Updated October 9, 2011”

    1. pady Says:

      hi Carl Webster

      I’m running a Citrix XenApp5 with windows 2008 Serverfarm with around 50 servers in it,
      after about 2 weeks my users start getting a logon delay of 2 to 30 minutes.And after getting my publish desktop its open Credentials dailog box
      i m follow up with microsoft team as well as CITRIX for TMs but they are not proper solutuion to me
      please help me out for the trouble

      Reply

    Leave a Reply