Tag Archives: VDI


VDI Cleanup script I use before sealing any golden image before deployment

Recently updated on May 17th, 2021 at 05:20 pm

Below is the VDI Cleanup script that I’ve been using over the years. I thought I’d post this after setting up a Horizon Lab environment. I shared it earlier in the year on Reddit, and had some good suggestions which I used to update the script. The script has been taken from other blogs over the years and just edited further and further for my own/customers needs.

Optimizations to any master are done using the VMware OS Optimization Tool.

I personally just run this as bat file to clean up and shut down the master template as a final step each time I make an update.

You can find the script on Github here, or below.

REM ************************************************
REM Stopping and disabling Windows Telemetry service
REM ************************************************
sc stop DiagTrack
sc config DiagTrack start= disabled
sc stop dmwappushservice
sc config dmwappushservice start= disabled
REM *********************
REM Stop and disable Windows update service
REM *********************
sc stop wuauserv
sc config wuauserv start= disabled
REM *********************
REM Delete any existing shadow copies
REM *********************
vssadmin delete shadows /All /Quiet
REM *********************
REM delete files in c:\Windows\SoftwareDistribution\Download\
REM *********************
del c:\Windows\SoftwareDistribution\Download\*.* /f /s /q
REM *********************
REM delete hidden install files
REM *********************
del %windir%\$NT* /f /s /q /a:h
REM *********************
REM delete prefetch files
REM *********************
del c:\Windows\Prefetch\*.* /f /s /q
REM *********************
REM Update OEM Information with Build Date
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation /v Model /d "Build %DATE%" /t REG_EXPAND_SZ /f
REM *********************
REM Run Disk Cleanup to remove temp files, empty recycle bin
REM and remove other unneeded files
REM Note: Makes sure to run c:\windows\system32\cleanmgr /sageset:1 command 
REM       on your initially created parent image and check all the boxes 
REM       of items you want to delete 
REM *********************
c:\windows\system32\cleanmgr /sagerun:1
REM ********************
REM Defragment the VM disk
REM ********************
sc config defragsvc start= auto
net start defragsvc
defrag c: /U /V
net stop defragsvc
sc config defragsvc start = disabled
REM *********************
REM Clear all event logs
REM *********************
wevtutil el 1>cleaneventlog.txt
for /f %%x in (cleaneventlog.txt) do wevtutil cl %%x
del cleaneventlog.txt
REM *********************
REM release IP address
REM *********************
ipconfig /release
REM *********************
REM *********************
ipconfig /flushdns
REM *********************
REM Shutdown VM
REM *********************
shutdown /s /t 0




And more blogs and sites I’ve been reading and sharing

Recently updated on June 12th, 2015 at 10:08 am

A little bit of a longer one than usual, as I was part way through writing this the other month, then I got distracted with other blog posts.

Hope you find some of these useful.


EtherealMinds Eleven Rules of Design Documentation – This is one the best articles I’ve read in a long time, and reiterates the fact you need to keep it simple and a diagram replaces a thousand words.

Microsoft Continue reading And more blogs and sites I’ve been reading and sharing


Looking back at a VMware VDI Deployment

Recently updated on March 14th, 2015 at 10:52 pm

My good friend Nathan Bryne wrote a good post about “Do I really need to do a Desktop Assessment?“, which got me thinking.

I worked at a college for around 3 years where we had a 1000 seat VMware View VDI deployment. I started working there just after the college had decided to go all-in on VDI and purchased the equipment, as most of their student machines were getting to 5 years old, and in some areas 7 years old.

The highlights of this were;

2012-06-29 15.35.12IMAG0390 IMAG0400 IMAG0391Dell Blade to SAN Array - Both environments

Continue reading Looking back at a VMware VDI Deployment