Script Library

Boost your management, troubleshoot, and remediation capabilities with scripts created by experts in the IT community.

<< Back to Script Library

Tag: vdi

(35 Scripts)
Check Profile Sizes examines user profiles for all or selected user accounts on the target machine, grouping the results by file type, using the extension.

For each group of files, if the size of the group exceeds a threshold (default 15% of the total profile size) the individual files are listed, sorted by path or by size (descending) and showing the actual file size in bytes.

To keep the output reasonably short, a threshold is set on the number of files shown individually per are listed by path (default 6) - beyond this, files are summarized by folder (order by count of files, descending).

Arguments:
ThresholdPercentToExpand (default: 15) - the threshold percent of the total profile size at which a file-extension group is listed.
SamAccountNameList (default: All) - the list of account names to be reported (comma-separated, any leading or trailing spaces will be trimmed). If set to All, the script will include local user and Active Directory user accounts.
SortBy (default: Size) - must be set to Size (individual files are listed by size, descending) or Path (individual files are listed by full path, ascending).
PreSummarySize (default: 6) - the number of files that will be listed individually (by group, according to the configured sort order) before the script switches to reporting files grouped by folder.
Version: 1.2.17  |   Created: 2023-03-08  |   Modified: 2023-03-23  |   Creator: Bill Powell  |   Downloads: 192
Citrix HDX Optimization can improve the user experience for Teams video/audio use.
The optimization will also significantly reduce the resource consumption on the VDA.

Please report any issues and feedback
Version: 2.9.24  |   Created: 2021-01-04  |   Modified: 2021-03-05  |   Creator: Marcel Calef  |   Downloads: 637
This script uses the Powershell module of the Horizon Session Recording fling to stop the recording of a BLAST session of a user.
Requirements: Horizon Session Recording 2.2.0 or higher
Link: https://flings.vmware.com/horizon-session-recording
Version: 1.3.10  |   Created: 2020-11-05  |   Modified: 2020-11-17  |   Creator: Wouter Kursten  |   Downloads: 29
This script uses the Powershell module of the Horizon Session Recording fling to start the recording of a BLAST session of a user.
Requirements: Horizon Session Recording 2.2.0 or higher
Link: https://flings.vmware.com/horizon-session-recording
Version: 1.3.12  |   Created: 2020-11-05  |   Modified: 2020-11-17  |   Creator: Wouter Kursten  |   Downloads: 53
This Script Action uses the ServiceNow API to create an incident in ServiceNow IT Service Management. The script as presented is for a specific use case: it creates an incident containing the user's full name, the user's logon duration and the machine name.

This Script Action can also be used as an example/template for your own ServiceNow integration needs. See the script for more details on how to modify.
Version: 1.2.15  |   Created: 2020-10-21  |   Modified: 2020-12-01  |   Creator: Joel Stocker  |   Downloads: 85
Shadows Citrix, VMware, RDSH and WVD sessions
Version: 1.3.13  |   Created: 2020-10-15  |   Modified: 2020-10-20  |   Creator: Trentent Tye  |   Downloads: 329
Performs a test of all the technical requirements for HDX content redirection, which can potentially save bandwidth and CPU. The script's output provides the test results along with recommendations on components that need to be enabled or upgraded for content redirection to work.
Version: 1.4.20  |   Created: 2020-10-07  |   Modified: 2020-10-13  |   Creator: Marcel Calef  |   Downloads: 134
Run on a Delivery Controller or where the CVAD PowerShell snapins are available, e.g. Studio is installed or on a machine with the DaaS Remote PowerShell SDK (for Cloud). User running the script for on-prem must have sufficient permission to change the enabled state of the selected delivery groups. For Cloud, CU stored credentials must have previously been saved for the local user running the script.

To use this script as an automated action where parameters cannot be passed, copy the script and set the $disable parameter in the Param() block at the top of the script to "true" or "false" depending on whether you are disabling or enabling delivery groups respectively.

The Cloud Customer Id or Delivery Controller is an optional argument which can be used when there are more than 1 credential file for the user running the script so that the correct Cloud customer can be chosen. When used on-prem, the parameter is used to tell the script what delivery controller to connect to when the script is not run on a DDC.
Version: 2.1.13  |   Created: 2020-10-06  |   Modified: 2024-01-26  |   Creator: Guy Leech  |   Downloads: 9
Run on a Delivery Controller or where the CVAD PowerShell snapins are available, e.g. Studio is installed. User running the script must have sufficient permission to chage the enabled state of the selected delivery groups
Version: 1.1.6  |   Created: 2020-10-06  |   Modified: 2020-10-13  |   Creator: Guy Leech  |   Downloads: 47
Show how recently (in number of days) delivery groups have had sessions launched from them, by checking the last used property for each machine in a delivery group.
Specify the minimum number of days last launched to show only delivery groups which have not had sessions launched within that number of days and optionally disable them. Specify 0 days to show all delivery groups.

Run on a Delivery Controller or where the CVAD PowerShell snapins are available, e.g. Studio is installed.
Version: 2.6.19  |   Created: 2020-10-02  |   Modified: 2020-10-09  |   Creator: Guy Leech  |   Downloads: 75
The script displays VDI machines and RDS hosts that are not running on the same Golden Image and Snapshot that are configured in the Desktop Pool settings. It offers the option to delete VDI machines with or without forcing the user to logoff. Uses the Horizon PowerCLI api's to pull all snapshot information for Horizon Linked Clones and Instant Clones Desktops pools and RDS farms.
The script also uses the Horizon api's to poll the Cloud Pod status of the system and connects to other pods if Cloud Pod has been enabled.

This Script Requires a Horizon Credential file for the user running the scipt. This can be created using the Create credentials for Horizon scripts Script Action.
Requires Horizon 7.5 or later
This script requires VMware PowerCLI to be installed on the machine running the script. PowerCLI can be installed using the Install and configure VMware PowerCLI Script Action
Version: 3.8.81  |   Created: 2020-09-22  |   Modified: 2023-11-24  |   Creator: Wouter Kursten  |   Downloads: 132
Uses the Horizon REST api's to pull all Error, Warning and Audit_Fail events from the Horizon Event database for all pods. If there is no cloud pod setup it will only process the local pod. After pulling the events it will translate the id's for the various objects to names to show the proper names where needed.

Output is displayed in the console but also saved to a default location of c:windowstempCU_Horizon_error_log.csv

This action should be executed against a Horizon endpoint machine (one which has the HZ Primary Connection Server column populated in ControlUp Console). The script uses the target machine to determine the connection server address, and is executed on the machine running ControlUp Console.
This script requires Horizon Credentials to be set for the account running the scipt on the target machine, these need to be created using the 'Create credentials for Horizon scripts' Script Action
Version: 4.3.12  |   Created: 2020-08-27  |   Modified: 2023-10-25  |   Creator: Wouter Kursten  |   Downloads: 102
Query the selected delivery controller via OData to retrieve connection failure details for a specific user, or all users, within a specified number of days ago
Version: 2.4.10  |   Created: 2020-08-05  |   Modified: 2020-12-01  |   Creator: Guy Leech  |   Downloads: 438
Sends messages to the selected Horizon user/s. This script can be used to send messages to a single user session using the Horizon SOAP API's. It can also be used as an automated action with a fixed message and severity level. For the severity level these are allowed: INFO,WARNING, ERROR

This script requires VMWare PowerCLI to be installed on the machine running the script.
PowerCLI can be installed through PowerShell (PowerShell version 5 or higher required) by running the command 'Install-Module VMWare.PowerCLI -Force -AllowCLobber -Scope AllUsers' Or by using the 'Install VMware PowerCLI' script.
If you get TLS/SSL errors use this command Set-PowerCLIConfiguration -InvalidCertificateAction ignore
or Set-PowerCLIConfiguration -InvalidCertificateAction warn
To get rid of the CEIP warning use Set-PowerCLIConfiguration -ParticipateInCeip $true
or Set-PowerCLIConfiguration -ParticipateInCeip $false
Credentials can be set using the 'Create credentials for Horizon View scripts' script.
Version: 2.4.6  |   Created: 2020-07-07  |   Modified: 2023-11-24  |   Creator: Wouter Kursten  |   Downloads: 220
Perform health check analysis of VMware App Volumes on an end-point, reporting issues that may be or were user impacting. Also shows disk mounts and durations for App Volumes mounted for current user sessions.
Version: 3.8.16  |   Created: 2020-06-30  |   Modified: 2020-10-23  |   Creator: Guy Leech  |   Downloads: 180
Pull all or just error, warning & critical event log entries from a given number of seconds before logon to a given number of seconds after logon.
Can assist in finding causes of slow or incorrect logons.
Version: 1.3.18  |   Created: 2020-06-19  |   Modified: 2020-06-19  |   Creator: Guy Leech  |   Downloads: 228
This script acts when provisioning gets disabled for linked clones desktop pools because the overcommit ratio is set too low. It will calculate the correct ratio and set it to that.
After changing the ratio it will enable provisioning and when set to true it can also force a rebalance of the datastores.
When using iwth a trigger the Connection Server FQDN and Horizon Pool name need to be configured manually.

This script requires VMWare PowerCLI to be installed on the machine running the script.
PowerCLI can be installed through PowerShell (PowerShell version 5 or higher required) by running the command 'Install-Module VMWare.PowerCLI -Force -AllowCLobber -Scope AllUsers' Or by using the 'Install VMware PowerCLI' script.
Credentials can be set using the 'Prepare machine for Horizon View scripts' script.
Version: 2.1.4  |   Created: 2020-04-02  |   Modified: 2023-11-24  |   Creator: Wouter Kursten  |   Downloads: 43
This script assigns a user to a Horizon desktop machine. This will only work with dedicated desktop pools.It will receive the connection server fqdn, Desktop pool and machine, login and domain names from the CU Console.

This action should be executed against a Horizon endpoint machine (one which has the HZ Primary Connection Server column populated in ControlUp Console). The script uses the target machine to determine the connection server address, and is executed on the machine running ControlUp Console.

This script requires VMWare PowerCLI to be installed on the machine running the script.
PowerCLI can be installed through PowerShell (PowerShell version 5 or higher required) by running the command 'Install-Module VMWare.PowerCLI -Force -AllowCLobber -Scope AllUsers'
Version: 1.3.5  |   Created: 2020-02-20  |   Modified: 2020-02-25  |   Creator: Wouter Kursten  |   Downloads: 31
This script unassigns a user from a machine. This will only work with dedicated desktop pools. It will receive the connection server fqdn, Desktop pool and machine names from the CU Console.

This action should be executed against a Horizon endpoint machine (one which has the HZ Primary Connection Server column populated in ControlUp Console). The script uses the target machine to determine the connection server address, and is executed on the machine running ControlUp Console.

This script requires VMWare PowerCLI to be installed on the machine running the script.
PowerCLI can be installed through PowerShell (PowerShell version 5 or higher required) by running the command 'Install-Module VMWare.PowerCLI -Force -AllowCLobber -Scope AllUsers'
Version: 1.4.4  |   Created: 2020-02-20  |   Modified: 2020-02-25  |   Creator: Wouter Kursten  |   Downloads: 24
This script deletes a machine from an Horizon desktop pool. If it is a manual pool the machine will only be removed from the pool but not deleted. If it is an automated pool the user can be forcefully logged off (otherwise the script will fail, Horizon 7.7 or newer required) and the machine will be deleted.


This action should be executed against a Horizon endpoint machine (one which has the HZ Primary Connection Server column populated in ControlUp Console). The script uses the target machine to determine the connection server address, and is executed on the machine running ControlUp Console.

This script requires VMWare PowerCLI to be installed on the machine running the script.
PowerCLI can be installed through PowerShell (PowerShell version 5 or higher required) by running the command 'Install-Module VMWare.PowerCLI -Force -AllowCLobber -Scope AllUsers'
Version: 1.3.4  |   Created: 2020-02-20  |   Modified: 2020-02-25  |   Creator: Wouter Kursten  |   Downloads: 43
This script will issue the Refresh command for a Horizon Linked Clone.
Version: 2.10.21  |   Created: 2020-02-04  |   Modified: 2022-04-25  |   Creator: Ton de Vreede  |   Downloads: 63
This script finds a user session based on username and machine. This user is then logged off, even if the session is locked.
Version: 2.32.50  |   Created: 2020-01-26  |   Modified: 2023-11-24  |   Creator: Ton de Vreede  |   Downloads: 230
Changes the amount VDI desktops in a desktop pool. Use UP_FRONT or ON_DEMAND for the Provisioningtype depending if you want to provision all desktops up front. If UP_FRONT is used minNumberOfMachines and numberOfSpareMachines will be ignored.

This action should be executed against a Horizon endpoint machine (one which has the HZ Primary Connection Server column populated in ControlUp Console). The script uses the target machine to determine the connection server address, and is executed on the machine running ControlUp Console.

This script requires VMWare PowerCLI to be installed on the machine running the script.
PowerCLI can be installed through PowerShell (PowerShell version 5 or higher required) by running the command 'Install-Module VMWare.PowerCLI -Force -AllowCLobber -Scope AllUsers'
Version: 4.7.13  |   Created: 2020-01-09  |   Modified: 2023-11-24  |   Creator: Wouter Kursten  |   Downloads: 129
Parses the Profile log for FSLogix event for a specific user and displays the results.
Version: 7.6.27  |   Created: 2019-12-03  |   Modified: 2023-10-26  |   Creator: Trentent Tye  |   Downloads: 2778
This script finds Internet Explorer processes corresponding to tabs in which the URL matches the pattern provided by the user in the "Tab Title Pattern" argument, and kills these processes.

Internet Explorer may recover the killed tab automatically, which is a default behavior controlled by the the "Enable automatic crash recovery" setting. When set to "yes", the "Disable Tab Recovery" setting of this script will prevent the killed tab from getting reopened. Tab recovery will then remain disabled at the user level.

If the Force parameter is set to "yes", the script will terminate the processes it found, even if their count does not correlate to the number of tabs matching the provided pattern. Be advised that this option may result in closing more tabs than intended, and should be used with caution.
Version: 1.5.28  |   Created: 2019-04-01  |   Modified: 2019-04-10  |   Creator: Guy Leech  |   Downloads: 88
This script creates a video of the entire user display area and saves it in a location of choice. This script requires ffmpeg.exe to be downloaded and placed in an accessible location.
Version: 1.3.4  |   Created: 2019-03-13  |   Modified: 2019-03-27  |   Creator: Ton de Vreede  |   Downloads: 196
This script gets the dimensions of the users working display area and takes screenshots. The screenshots can be saved as a BMP, JPG or PNG in a location of choice.
Version: 3.2.5  |   Created: 2019-03-13  |   Modified: 2023-03-20  |   Creator: Ton de Vreede  |   Downloads: 265
This script gets the dimensions of the users working display area and take a screenshot. The screenshot can be saved as a BMP, JPG or PNG in a location of choice.
Version: 2.3.5  |   Created: 2019-02-25  |   Modified: 2022-12-14  |   Creator: Ton de Vreede  |   Downloads: 703
Logs off the selected user session
Version: 2.1.2  |   Created: 2019-01-27  |   Modified: 2022-12-14  |   Creator: ek  |   Downloads: 3567
Displays the titles of all visible windows running in the user session
Version: 1.0.1  |   Created: 2019-01-13  |   Modified: 2019-01-13  |   Creator: Guy Leech  |   Downloads: 506
Finds and optionally deletes local user profiles. The user can provide two arguments - the minimum profile age in days and the minimum profile size. The default operation mode is to display the profiles that fit these criteria. When the "Delete" option is set to "true", the script will delete the profiles it found.
Version: 2.4.20  |   Created: 2018-12-26  |   Modified: 2020-06-10  |   Creator: Guy Leech  |   Downloads: 428
Logoff disconnected sessions on the selected computer(s) which have been disconnected in excess of a given period, specified in minutes.
Arguments:
Disconnected period - the time in minutes over which a user must have been disconnected before they are logged off (default is 10 minutes)
Version: 1.3.3  |   Created: 2018-10-13  |   Modified: 2018-11-23  |   Creator: Guy Leech  |   Downloads: 376
This script provides statistics for a given VMware Blast session
Version: 5.6.44  |   Created: 2018-02-11  |   Modified: 2020-10-28  |   Creator: Ton de Vreede  |   Downloads: 420
This script runs on the the target VDIXenApp computer. It will initiate a trace route command from the VDIXenApp machine to the client device. This will help identify which hop between the two devices has the highest latency.
TRACERT.EXE runs for a maximum of 5 minutes, after which the script times out.
Version: 2.5.13  |   Created: 2016-06-19  |   Modified: 2022-07-26  |   Creator: Matan Nataf  |   Downloads: 4450
This SBA gives a deeper insight into the PCoIP protocol for VDI VMs.
Version: 1.7.21  |   Created: 2015-11-26  |   Modified: 2016-01-03  |   Creator: Zeev Eisenberg  |   Downloads: 303