XenAppAudit FAQ

Get the XenAppAudit Utility Here!

Q: What is the licensing cost for XenAppAudit?

A: There is no licensing cost.  XenAppAudit is free for anyone to use.

Q: Where can I buy XenAppAudit?

A: XenAppAudit is not for sale.  It is free for anyone to use.

Q: Is this program supported by Citrix?

A: No.  This program is of my own creation.  It is not supported in any way by Citrix, GlassHouse or Microsoft. This is my own pet project; however, I did leverage Citrix’s knowledge base and SDKs for XenApp.

Q: What are the requirements to run XenAppAudit?

A: You will need XenApp Farm Administrator access as well as Server-level Administrator Access.  When running on Windows 2008 or higher with UAC enabled, you will need to run as an administrator.  When running XenApp 6 or XenApp 6.5, you will need the associated SDK installed on the server that is running the data collection scripts.

Q: What versions of XenApp are supported?

A: This utility has been tested against Citrix Presentation Server 4.0 and all current Citrix XenApp versions (4.5, 5.0, 6.0, and 6.5). There are some data elements that may not be available for all versions.

Q: How do I use XenAppAudit?

A: After extracting the ZIP file (preferably under C:\Program Files\XenAppAudit), simply run the START.BAT file.  It will inspect your system and call the necessary data collection scripts.  All executions are recorded in a transcript file located under the RESULTS folder.   After the data collection is complete, you can then launch the front end application by opening XenAppAudit.mdb.

Q: How long does it take XenAppAudit to run?

A: That greatly depends on how large your Farm is, how many servers are the Farm, and your network topology.  I generally see between 5 and 20 minutes, but some audits have taken as long as 45 minutes.  I use a lot of WMI calls in the code to gather real-time data.  These calls tend to be the longest running item.  If you need to run the audits quickly, you can comment out or eliminate the WMI calls.

Q: Do I need to run the XenAppAudit utility on all servers?

A: No, you only need to run it on one server in the Farm.  I typically run this on a Data Collector, but that is my personal preference.

Q: Can I run it on a non-XenApp server?

A: No, I wrote the scripts assuming the execution server is a XenApp server.  However, you may be able to modify the scripts to suite your need.

Q: Can I run XenAppAudit multiple times?

A: Yes.  It is designed to be run multiple times to allow subsequent audits and data comparison.

Q: How can I run XenAppAudit against multiple environments?

A: There are a couple of options. You can install the utility on one server in each environment and keep them stand alone.  Also, you can copy the back end database (XenAppAudit_be.mdb) between servers to have one back-end.  Another option is to modify the data collection scripts to use a network path to reference the RESULTS folder, as opposed to a local path.

Q: I have a problem with the XenAppAudit utility, where can I get support?

A: This utility is delivered as-is, with no warranties.  Although I cannot provide direct support, I am happy to answer any email inquiries.  Contact information is available under the “About Andy…” form.  You may also post questions on the XenAppAudit page.  Either for of inquiry will be answered as soon as possible.

Q: What language is used to run XenAppAudit?

A: XenAppAudit uses a variety of scripts and programming objects, including Batch Files, VBScript, PowerShell, Visual Basic for Applications, and Microsoft Access.

Q: Why did you use Microsoft Access?

A: My first professional job was as a Microsoft Access database developer, so I tend to fall back on Access when possible.  I find Access to be easy to use for data analysis and customization.  It provides and easy to use GUI, user forms, reports, and queries.

Q: Do I need Microsoft Access to use XenAppAudit?

A: Yes and no.  You DO NOT need Access to run the XenAppAudit collection utilities.  The Jet Engine database ODBC connections are built into Windows, so there are no special drivers needed, so the script can open the back-end database (XenAppAudit_be.mdb) and insert all the auditing data.  However, you will need Access 2003 or higher to run the front-end utility (XenAppAudit.mdb), which is written in Access 2010.

Q: Can I change the code behind XenAppAudit?

A: Absolutely!  I purposely chose to use Access and various scripts as opposed to a compiled EXE for this reason.  Feel free modify any of the scripts or Access objects as necessary to fit your needs.  Of course, changing the scripts may make it difficult to gain assistance if need be.  If you find a flaw or have improvements after looking at the scripts, you can email me the recommended changes as well.  I figure share and share alike!

Q: Can I redistribute XenAppAudit?

A: Sure.  The easiest way is to link to this site.  However, feel free to redistribute as necessary.  I only ask that you give credit where credit is due.

Q: Can I re-brand XenAppAudit?

A: Please don’t.  Feel free to modify and distribute as necessary, but a lot of time and energy went into this project.  I only ask that you give credit where credit is due, and re-branding this effort would take away from that philosophy.

Q: I want to modify something on Access, but I don’t see the objects.

A: The XenAppAudit.mdb contains all the logic, but the objects are hidden.  If you need to see them, press F11.  Alternately, you can hold down the SHIFT key when opening the file and prevent the application start-up routine.  The actual tables (and data) are linked to the XenAppAudit_be.mdb.  Any table changes should be made there, then the linked tabled updated in the front-end application.

7 Responses to XenAppAudit FAQ

  1. Rob Pettey says:

    When launching start.bat on a Presentation Server 4.5 farm I get the
    “ERROR: Unable to determine XenApp version. XenAppAudit is designed to be run on a XenApp Server. Permissions of running account are fine. Tried on several servers in this farm. MFCOM is enabled.Any Ideas?

    Ran great on our Xenapp 6 farm though. Nice work.

    • Andy Paul says:

      Rob, the most likely cause is that the Citrix binaries are installed in a non-default location. The script is looking for “c:\Program Files\Citrix\System32\wfshell.exe”. You can modify the Launcher.vbs script to use an alternate location or to bypass the check entirely.

  2. Pingback: Back to the Blog… |

  3. Magnus says:

    Hi
    I am able to run start.bat and the rest of the scripts successfully however when I try to import the data (“Click here to import” button) i get the following error
    “Compile error: Cant find project or library” with a OK and help button.
    THe debugger opens FOrm_frmImportData and highlights Private sub Command 23_Click()
    objFso = CreateObject(“Scripting.FileSystemObject”)

    I ran a wsh and vbs scrupt that uses this component with no issue.

    Any help would be appreciated
    Magnus

    • Andy Paul says:

      Sorry for they very delayed respons Magnus. First, thanks for using my Audit Tool. Secondly, I have never encountered that error, so I’m not sure. Loading a the FileSystemObject library should be straight forward. You can open MSAccess and make sure the FSO library is available using the Module menu, or possibly try the import on another PC?

      Good Luck!
      -Andy

  4. mehdi says:

    Hi,
    I have a farm XenApp 6.5.
    Server Windows 2008R2.
    Office 2010

    When I launch start.bat, i have this message :
    ———————————————————–
    Starting Collection at 07/08/2013 12:22:35
    ———————————————————–

    Collecting Farm Data…
    Dxxxxxxxxxx
    Exception lors de l’appel de « MoveFirst » avec « 0 » argument(s) : « BOF ou EO
    F est égal à True ou l’enregistrement actuel a été supprimé. L’opération demand
    ée nécessite un enregistrement actuel. »
    Au niveau de C:\Program Files\XenAppAudit\Scripts\XenAppAudit.PS1 : 109 Caractè
    re : 23
    + $objRSAudit.MoveFirst <<<< ()
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

    Exception lors de la définition de « Value » : « BOF ou EOF est égal à True ou
    l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enreg
    istrement actuel. »
    Au niveau de C:\Program Files\XenAppAudit\Scripts\XenAppAudit.PS1 : 111 Caractè
    re : 43
    + $objRSAudit.Fields.item('AuditFarmName'). <<<< value = $farmname
    + CategoryInfo : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : PropertyAssignmentException

    Exception lors de l'appel de « Update » avec « 2 » argument(s) : « BOF ou EOF e
    st égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée
    nécessite un enregistrement actuel. »
    Au niveau de C:\Program Files\XenAppAudit\Scripts\XenAppAudit.PS1 : 112 Caractè
    re : 20
    + $objRSAudit.Update <<<< ()
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

    Can you help me ?

    Thank's

    • Andy Paul says:

      Hmm, could be a language issue, I have only tested against US English.
      looks like it is having issues opening the back end database for writing values.
      Sorry I could not be of better assistance.

Leave a Reply

Your email address will not be published. Required fields are marked *