Scripting

Citrix Virtual Delivery Agent (VDA) Post Install Script

July 18, 2019

UPDATED 20th January 2023 The implementation of UviProcessExcludes registry changes was improved and made easier for others to follow. Although some of these items can be excluded from the Virtual Delivery Agent (VDA) installation, checking and managing them in a post install script ensures we have consistency between all installations and VDA versions. All these actions need […]

Read the full article →

Installing, Configuring, Securing and Using MDT Webservices – Part 3

June 28, 2019

In Part 1 we walked through the installation and configuration of Deployment Webservices. In Part 2 we walked through securing the Webservice. In this part I will demonstrate how to use the Webservice via a PowerShell script to securely move a computer object during the operating system deployment (OSD) task sequence using Microsoft Deployment Toolkit […]

Read the full article →

Best Practice for the Windows Client Side Caching (CSC) kernel driver in VDI workloads

May 21, 2019

It’s been a best practice for a long time to disable Offline Files in both RDSH and VDI workloads. However, this has only ever been based around the Offline Files (CscService) service and some registry tweaks. What people don’t realize is that you must properly disable Offline Files in all VDI workloads by also disabling the […]

Read the full article →

Best Practice for the Windows Time (W32TIME) Service for RDSH and VDI workloads

May 16, 2019

When using image deployment mechanisms for RDSH and VDI workloads, such as Citrix PVS, Citrix MCS and VMware View Composer, it’s extremely important to reconfigure the Windows Time (w32time) Service to ensure that the LastBootUpTime is accurate. If it’s not accurate, it effects monitoring, the correlation of log data, event triggers, etc. The default Manual […]

Read the full article →

XDPing PowerShell Function

May 16, 2019

I wanted to write valid PowerShell function to do an XDPing the same way Citrix do with their Health Assistant tool. I was struggling a little to get the PowerShell code working as expected, so in the end I used JetBrains decompiler to decompile the VDAAssistant.Backend.dll, which is a component of the Citrix Health Assistant Tool. This […]

Read the full article →

Controlling the Starting of the Citrix Desktop Service (BrokerAgent)

March 4, 2019

UPDATED 31st January 2023 Added the DefaultDomainName value to the registry, which tells this script to set the Winlogon DefaultDomainName value in the registry once the autologon process has started. This allows us to use a local account for the Autologon process instead of a Domain service account, which won’t work if the Winlogon DefaultDomainName value […]

Read the full article →

Addressing the PowerShell Garbage Collection bug

September 25, 2017

There is a known bug where PowerShell does not correctly manage a garbage collection whilst executing a pipeline or loop of an object. Simply using [System.GC]::Collect() within the pipeline or loop does not work as expected. Memory continually grows until the pipeline or loop has completed. This becomes a serious problem if you’re script is […]

Read the full article →

Script to modify the defaultSecurityDescriptor attribute on the Group-Policy-Container schema class object

June 29, 2016

Last week I published an article about the changes in the behavior of Group Policy processing after the deployment of security update MS16-072 under KB3163622. It included a script to assist with the remediation of Group Policy permissions: Script to report on and remediate the Group Policy security change in MS16-072. Of course that’s not where it […]

Read the full article →

Script to report on and remediate the Group Policy security change in MS16-072

June 22, 2016

On June 14th 2016 Microsoft released security update MS16-072 under KB3163622 that changes the behavior of Group Policy processing so that user group policies are now retrieved by using the machine’s security context instead of the user’s security context. This is a by-design behavior change from Microsoft to protect computers from a security vulnerability. Update 23/06/2016: Microsoft […]

Read the full article →

Script to Import and Bind a Certificate to the Default Web Site

January 4, 2015

This Powershell script will import and bind a certificate to the Default Web Site. I use this script for Citrix StoreFront and Director deployments, but it’s written to be very flexible and versatile so can be used for other tasks. The original idea came from scripts written by Thomas Albaek and Jerome Quief for Citrix StoreFront. The way I’ve written […]

Read the full article →