Citrix Virtual Apps and Desktops Documentation Script V3.01
Version 3.01 11-Sep-2020
Another shoutout to fellow CTP Guy Leech for all his time, help, numerous test runs, and numerous sample reports. Guy makes this script (and the 2.36 and Citrix Cloud scripts) much more better.
- Add a switch statement for the machine/desktop/server Power State
- Change all Write-Verbose $(Get-Date) to add -Format G to put the dates in the user’s locale
- Change checking some String variables from just $Null to [String]::IsNullOrEmpty.
- Some cmdlet’s string properties are sometimes Null and sometimes an empty string
- Change checking the way a machine is online or offline
- Change some cmdlets to sort on the left of the pipeline using the cmdlet’s -SortBy option
- Fixed an issue with “Connections meeting any of the following (Access Gateway) filters”
- If you selected HTML and any other output format in the same run, only the HTML output had any Access Gateway data
- Fixed issue with PowerShell 5.1.x and empty Hashtables for Ian Brighton’s Word Table functions
- PoSH 3, 4, and 5.0 had no problem with an empty hashtable and would create a blank Word table with only column headings
- For many tables, before passing the hashtable to Ian’s function, test if the hashtable is empty
- If it is, create a dummy row of data for the hashtable
- For example, a RemotePC catalog based on OU that contains no machines, or Applications with no administrators
- Instead of having a missing table, the table will now have a row that says “None found”
- Fixed issue with the array used for Appendix A and the CSV file when selecting multiple output formats.
- If HTML and Text and MSWord were selected, Appendix A and the CSV file contained three duplicate entries
- Changed from using only one array to three. Changed from using $Script:ALLVDARegistryItems to
- Fixed output issues with Power Management settings
- Fixed several more array out of bounds issues when accessing element 0 when the array was empty
- For Appendix A, Text output, change the column heading “DDC Name” to “Computer Name” to match the HTML and MSWord/PDF output
- For checking the registry on a Delivery Controller for installed Citrix components, test the RemoteRegistry service for its status.
- If the service is not running, set $GotCtxComponents to $False
- For the three datastore databases, check if the various variables are null or empty and if so, change the value to “Unable to determine”
- For Zones, add MemType into the Sort-Object for Site View and Zone View
- Since the RegistrationState property is an enum, add .ToString() to the machine/desktop/server variable so HTML output is correct
- When getting the provisioning scheme data for a machine, only process machines with a provisioning type of MCS
- There is no provisioning scheme data for manually or PVS provisioned machines
- When VDARegistryKeys is used, now test the RemoteRegistry service for its status
- If the service is not running, add that information into the various *VDARegistryItems arrays
You can always find the most current script by going to https://carlwebster.com/where-to-get-copies-of-the-documentation-scripts/