VDI optimization script (part 1)

In the summer of 2010 Erik wrote an article about “How to: Optimize guests for VMware View” in which he describes all sorts of changes he makes for a Windows XP or Windows 7 virtual desktop in a VDI environment. The changes that are suggested in the article are still valid, but after reading them I was wondering if there are new additions, specifically with Windows 8 now on the market. During my search I quickly came across a Visual Basic script that was released by Microsoft on their Technet site for optimization of a Windows 8 virtual desktop.

At the beginning of the script there is a disclaimer that you should have knowledge of the vb scripting language and that you should proceed with caution. Since the script is fairly long and a lot of changes are being made I decided to break the script down and put this in a table to give an overview of the services and settings being changed. As the title of the article indicates this is part 1 of the article, in part 2 I will try to explain the different pieces of the script in such a way that more people might understand what is happening inside the script.

While putting everything into a table I also looked if these changes could be made for a Windows 7 desktop too. The table is divided in several parts (and one bullet list) to provide some more overview to the whole.

Services:

 

Machine settings:

Scheduled tasks to disable:

-    Application Experience\AitAgent

-    Application Experience\ProgramDataUpdater

-    Application Experience\StartupAppTask

-    Autochk\Proxy

-    Bluetooth\UninstallDeviceTask

-    Customer Experience Improvement Program\BthSQM

-    Customer Experience Improvement Program\Consolidator

-    Customer Experience Improvement Program\KernelCeipTask

-    Customer Experience Improvement Program\Uploader

-    Customer Experience Improvement Program\UsbCeip

-    Diagnosis\Scheduled

-    DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector

-    DiskDiagnostic\Microsoft-Windows-DiskDiagnosticResolver

-    Maintenance\WinSAT

-    MobilePC\HotStart

-    Power Efficiency Diagnostic\AnalyzeSystem

-    RAC\RacTask

-    Ras\MobilityManager

-    Registry\RegIdleBackup

-    Shell\FamilySafetyMonitor

-    Shell\FamilySafetyRefresh

-    SideShow\AutoWake

-    SideShow\GadgetManager

-    SideShow\SessionAgent

-    SideShow\SystemDataProviders

-    UPnP\UPnPHostConfig

-    WDI\ResolutionHost

-    Windows Filtering Platform\BfeOnServiceStartTypeChange

-    Windows Media Sharing\UpdateLibrary

-    WindowsBackup\ConfigNotification

User settings:

 

Hopefully the tables provide you with an overview that can help determine which settings might be useful for your VDI environment. In the next part I can hopefully explain the script in some more detail so that you can use it yourself.