I wrote a simple PowerShell script to monitor the real time performance (CPU usage, Memory usage and Disk queue length) of the XenApp farm servers.

To make it work, you need to:

1) Download and install the XenApp Powershell SDK.

2) Ensure the ‘Citrix XenApp Commands Remoting’ service is running on the data collector server. If it fails to start, you may need to configure the proxy for it – e.g. netsh winhttp set proxy myproxy:8080

3) Modify the parameters to fit your environment, then run the script. The log file looks like this:

Farm name is: MyFarm
Zone name is: DEFAULT ZONE
26/03/2014 11:54 AM
The Desktop sessions number is: 17
My-Farm-DC-01, CPU Usage(%): 0.000641017422853274, Free RAM(MB): 2287, Disk queue: 0
My-Farm-XenApp-01, CPU Usage(%): 42.6923101577751, Free RAM(MB): 2329, Disk queue: 0.118488823789591

The script can be downloaded from here: