MAJ :03/12/2014
Version : 2.6 (XA6x)
Add check WorkerGroup in “Server in Application(s)” section
MAJ :02/07/2013
Version : 2.3 (XA5/XA6x)
Adding “Server(s) Load” section, this section contains all servers with higher load at 9998.
To disable this section modify $Check_Ctx_SrvLoad. variable to FALSE in XenApp_CheckXAx.ps1 file.
All server with Load Evaluator “Maintenance” (set by $LoadEval_Check variable) is excluded on this section
MAJ : 29/04/2013
Version : 2.2 (XA5/XA6x)
Adding “Citrix HotFix missing” section, this section is enable by default. To disable this section modify $Check_Ctx_HotFix. variable to FALSE in XenApp_CheckXAx.ps1 file.
If you want to change the HotFix Citrix version ( in the XenApp_CheckXAx.ps1 file):
– For XenApp6.0/6.5 modify $Ctx_HotFixXA60 variable (for XenApp 6.0) or $Ctx_HotFixXA65 variable (for XenApp 6.5)
– For XenApp 5 modify $Ctx_HotFixXA5_32 variable (for 32bits) and/or $Ctx_HotFixXA5_64 variable (for 64 bits)
Next step, install the hotfix validated by you
If the message LHC error or CtxHotFix not Installed appears in the Citrix HotFix column, the HotFix is not installed or the LHC is corrupt
MAJ :29/04/20133
Version : 2.0 (XA5/XA6x)
Adding “EdgeSight Agent” section, this section is disable by default. To enable this section modify $Check_EdgeSightAgentVer variable to TRUE in XenApp_CheckXAx.ps1 file.
MAJ : 22/12/2012
Version : 2.0 (XA5/XA6x)
Add “Split-Path -Parent $MyInvocation.MyCommand.Path” for Check directory script run
Modify path function file “. \\your share\XenApp_Check\Ctx_Functions.ps1” by “. $Path’Ctx_FunctionsXA6.ps1′ ”
Add create backup folder if not exist on $Path
Add check WMI error on Foreach ($Servers in $Servers) for reduce time execution XenApp_Check if WMI fail
MAJ : 25/11/2012
Add Domain in General Détail section
Add Licence server TS/RDS in General Détail section
Adding “Server(s) type” section (physical, vm, xen or hyperV
This update is just for XenApp_Check XA6x, Xa5 version will soon be updated
MAJ : 05/09/2012
Adding “Cmdlet Execution Time” section, this section is disable by default. To enable this section modify $Check_CmdletExecution Time variable to TRUE in XenApp_CheckXAx.ps1 file.
Adding “Uptime Servers” section, by default the uptime value is ≥ 30. Its possible to change this value in the function Uptime (Ctx_FunctionsXA6.ps1 file), modify “30” value by your value.
Table bug fix
MAJ : 03/08/2012
Compatibility on XenApp 6.5 farm ok.
Adding Farm version in XenApp_CheckXA6 (testing on XA 6.5)
MAJ : 19/03/2012
XenApp_CheckXA6 ver 1.0
Adding a XenApp 6 version.
The code is functional but is not optimized yet .
Operation remains identical to XenApp_check for XA5, with the difference which should be configured the policy mode via rows 58 and 64 of the XenApp_CheckXA6.ps1 script.
MAJ : 21/10/2011
Version 1.2
Adding possibility not show some checks in the report:
Adding variable $AppNameExclude for exclude Application Name.
MAJ : 07/06/2011
Version 1.1
Adding counter for each section
MAJ : 13/05/2011
Version 1.02
Adding variable $AppFolderExclude and $ServFolderExclude for exclude Application folder and Server folder
MAJ : 07/05/2011
Version 1.01
Adding “Server(s) Off line” section
In order to know the XenApp farm, we implemented a powershell script (XenApp_Check.ps1) , this will provide information to get a precise idea of the current state.
XenApp_Check generated an HTML file, and send a report by mail (htlm), to be able to be informed wherever you are.
XenApp_Check (same as XenApp_InfoFarm) is inspired from the graph part of vcheck from the Vmware community.
XenApp_Check will bring a serie of information to give a summary fo the XenApp farm , along with a serie of check outputs (detailed below in this post), this provides an instant status of the XenApp farm (very convenient in the morning, when the ‘admins’ arrive for instance, or if you have to work on an XenApp farm that you have never monitored previously 🙂 ).
XenApp_Check was tested on windows 2003 server Fr sp2 and Xen App5 fr with R01,R03 and R06, XenApp_CheckXA6 has been tested on servers 2008 R2 sp1 and XenApp 6 R01 Farms.
Information part :
- Farm name
- Datastore type
- Datastore server
- Licence server name and port
- Number of servers
- Number of applications
- Number of zones
- Number of load evaluator
- Number of administrators
Check part :
- Dschek
- Disable policy
- Test presence of the event 4033 on the members servers of the XenApp farm (in order to be able to visualise the elections of the ZDC
- Test the principals servers XenApp (the service spooler as well) on the members servers of the farm XenApp
- Test the disk space remaining on the servers member of the XenApp farm ( if the space disk is below 1.7 Go, we consider it as an alert to escalate)
- Test if the open session on the members of the server is not disable
- Test if the member servers of the farm XenApp belong to a specific Load evaluator ( in our case the Load evaluator is named “maintenance” and allow to exit a server from our production via the scheduled task).
- Test if one application has at least two servers to be pusblished
- Test if one application is disable
Prerequire XenApp_Check :
- Powershell V2
- Citrix XenApp Command CTP3
Modify the row 24 in the file XenApp_Check.ps1 in order to indicate the place where the file Ctx_Functions.ps1 is locatedModify the rows 27,29 et 31 in the file XenApp_Check.ps1 for the part email sendConfigure « # Set the SMTP Server address” in XenApp_Check.ps1 file to send emailModify the rows 41 et 43 in the file XenApp_Check.ps1 to precise where the html and their back up will be save/archive.
The execution of XenApp_Check on a farm of 304 servers, 484 applications, 6 zones, 10 Load Evaluators and 10 Policies takes around 45 mn 30 mn.
Any suggestions and feedback will be welcome 😉 .
XenApp_Check (XenApp 5)
XenApp_CheckXA6 (XenApp 6.x)
Hello, your script is great. But with XenApp6 it’s fail… Some Cmdlets do not exists like Get-XAFarmConfiguration
You know something to change to make it work?
Regards.
Alberto.
Hello Alberto,
Thank you.
XenApp_Check uses cmdelt for XenApp5, we will soon make xenAppCheck support XenApp 6.
Love the script. I do get an error. Noted below. Let me know when it will support XenApp 6.0/6.5.
Get-EventLog : The network path was not found.
At C:\Admin\Audit\Ctx_Functions.ps1:185 char:27
+ $Event4003 = (Get-Eventlog <<<< system -computer $Servers -Newest 500 | where {$_.EventID -eq 4033}| Where-Object {
($_.TimeWritten).Date -eq (Get-Date).Date})
+ CategoryInfo : NotSpecified: (:) [Get-EventLog], IOException
+ FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.GetEventLogCommand
Hello,
XenApp_Check is now available for XenApp 6 here .
Hi,
Can you help me!
Environment: Windows 2008R2 + XenApp 6.5
What requirement to running the script?
A lot of error like:
GET-XAFarm done
Unexpected token ‘?[System.Management.ManagementDateTimeconverter]::ToDateTime’ in expression or statement.
At C:\temp\Ctx_FunctionsXA6.ps1:478 char:86
The term ‘GetElapsedTime’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the
name, or if a path was included, verify that the path is correct and try again.
At C:\temp\XenApp_CheckXA6.ps1:127 char:37
GET-XAZone done
The term ‘GetElapsedTime’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the
name, or if a path was included, verify that the path is correct and try again.
At C:\temp\XenApp_CheckXA6.ps1:134 char:40
GET-XAWorkerGroup done
The term ‘GetElapsedTime’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the
name, or if a path was included, verify that the path is correct and try again.
At C:\temp\XenApp_CheckXA6.ps1:141 char:35
GET-XALoadEvaluator
The term ‘GetElapsedTime’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the
name, or if a path was included, verify that the path is correct and try again.
At C:\temp\XenApp_CheckXA6.ps1:152 char:41
Thanks