Carl Webster Accessibility Statement

Carl Webster is committed to facilitating the accessibility and usability of its website,, for everyone. Carl Webster aims to comply with all applicable standards, including the World Wide Web Consortium’s Web Content Accessibility Guidelines 2.0 up to Level AA (WCAG 2.0 AA). Carl Webster is proud of the efforts that we have completed and that are in-progress to ensure that our website is accessible to everyone.

If you experience any difficulty in accessing any part of this website, please feel free to email us at and we will work with you to provide the information or service you seek through an alternate communication method that is accessible for you consistent with applicable law (for example, through telephone support).

  • New Script: Get Offline Scout Data

    Imagine you are in a Citrix environment where Internet and online access is forbidden. Where it is forbidden by company policy to enable PowerShell Remoting or Windows Remote Management or the Remote Registry service. How do you run diagnostics for the Citrix Virtual Apps and Desktops Site using the GUI version of Scout? You don’t or can’t. This new script helps work around this issue.

    Before I begin to say more about this script, I want to thank four people who helped test,  provide feedback, and find flaws in the script.

    • Carl Behrent (CTA)
    • Rene Bigler (CTP)
    • Sam Jacobs (CTP)
    • Stuart Donnelson

    Without their constant testing and feedback, this script wouldn’t be as complete as it is. Thank you four for your patience, feedback, and testing. I would really like to thank fellow CTP Rene Bigler who did a (for him) late-night debugging session over Zoom to help find a bad logic flaw in the script.

    The Citrix Community Rocks!!!

    While researching how to automate gathering Scout data for a project, I came across this page. Towards the bottom of the page is an explanation of how to gather Scout data offline. This uses a PowerShell cmdlet, Start-CitrixCallHomeUpload. While I am glad this cmdlet is available, it is pretty dumb cmdlet. There is no option to specify an -AdminAddress parameter to specify a Delivery Controller for a connection. The help text for the cmdlet shows various parameters, of which I could only find one that worked (-OutPath).

    There are many Citrix environments that have strict security policies and protocols where access to the Internet is forbidden and any online/Cloud access is prohibited. The only way to gather diagnostic data and have it analyzed it to gather the Scout data, copy the Zip file to a secure computer where Internet access is allowed but monitored and controlled, upload the Zip file to, wait for the analysis to complete, and download the Scout report.

    I hope Citrix is listening and never kills Not every customer allows online access from their Citrix infrastructure or VDAs. If Scout is killed, access to is killed, and the only diagnostics available is to use Smart Tools/Smart Check, well I fear there are many Citrix customers who will never gather diagnostics or health data on their Citrix environment(s).

    On to the script. The link for gather Scout data lists three prereqs:


    • The machine must be running PowerShell 3.0 or later.
    • The Citrix Telemetry Service must be running on the machine.
    • The system variable PSModulePath must be set to Telemetry’s install path, for example, C:\Program Files\Citrix\Telemetry Service\.

    The script verifies all three prereqs are met.

    If you run the script on a Delivery Controller: creates a zip file named:
    Site Name_DDC_DDC

    If you run the script on a VDA, attempts to find the VDA’s registered delivery controller and then attempts to find the Site Name.

    If the Site name is found, creates a zip file named:
    Site Name_VDA_VDA

    If the Site name is not found, creates a zip file named:

    If there are registry access issues on the VDA, creates a zip file named:
    Unable to Determine_VDA_VDA

    This script must be run on a Delivery Controller, or a VDA with either Call Home enabled or the Broker_PowerShell_SnapIn_x64 installed. That snapin’s installer is located on the installation media at
    \x64\Citrix Desktop Delivery Controller\Broker_PowerShell_SnapIn_x64.msi

    This script does not require an elevated PowerShell session.

    This script can be run by a Read-Only Site Administrator.

    For full health information, you should run this script on every Delivery
    Controller in a Site and at least one of each VDA in a Machine Catalog.

    The Start-CitrixCallHomeUpload cmdlet does not have a parameter to run
    against a remote Delivery Controller or VDA. The cmdlet will also not overwrite
    a Zip file if it exists which is why the time is added to the Zip file name.

    Once the script has created the Zip file, the file can be copied to another
    computer and then uploaded to as “Upload for self-diagnostics”

    There is one issue with the script. If you originally installed the VDA and manually entered the Delivery Controller(s), then uninstalled the VDA, and then reinstalled the VDA with the option “Let Machine Creation Services do it automatically”, the ListOfDDCs registry key still exists but is now empty. If ListOfDDCs is found, the script uses that empty value and assumes the VDA has not received the Group Policy to set that value. If ListOfDDCs does not exist, then the script looks for the HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\MachineIdentityServiceAgent\VdaStateMirror\RegisteredDdcFqdn key and uses that value.

    Figure 1 - Running the script on a DDC
    Figure 1 – Running the script on a DDC
    Figure 2 - Running the script on a XenApp VDA
    Figure 2 – Running the script on a XenApp VDA
    Figure 3 - Running the script on a Windows 10 VDA without the Broker PowerShell snapin installed
    Figure 3 – Running the script on a Windows 10 VDA without the Broker PowerShell snapin installed
    Figure 4 - Location of Broker PowerShell snapin installer
    Figure 4 – Location of Broker PowerShell snapin installer
    Figure 5 - Installing the Broker PowerShell snapin
    Figure 5 – Installing the Broker PowerShell snapin
    Figure 6 - Rerunning the script on the Windows 10 VDA
    Figure 6 – Rerunning the script on the Windows 10 VDA
    Figure 7 - Files created by the script
    Figure 7 – Files created by the script

    Only the Zip file is uploaded. The two json files are not used, that I am aware of.

    I hope you find the script useful.

    You can always find the most current script by going to



    About Carl Webster

    Carl Webster is an independent consultant specializing in Citrix, Active Directory, and technical documentation. Carl (aka “Webster”) serves the broader Citrix community by writing articles (see and by being the most active person in the Citrix Zone on Experts Exchange. Webster has a long history in the IT industry beginning with mainframes in 1977, PCs and application development in 1986, and network engineering in 2001. He has worked with Citrix products since 1990 with the premiere of their first product – the MULTIUSER OS/2.

    View all posts by Carl Webster

    No comments yet.

    Leave a Reply