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:
| Services name | Change | Win8 | Win7 |
| Application Layer Gateway | Disable start | X | X |
| Background Intelligent Transfer | Disable start | X | X |
| Bitlocker Drive Encryption | Disable start | X | X |
| Block Level Backup Engine | Disable start | X | X |
| Bluetooth Support | Disable start | X | X |
| BranchCache | Disable start | X | X |
| Computer Browser | Disable start | X | X |
| Device Association | Disable start | X | |
| Device Setup Manager | Disable start | X | |
| Diagnostic Policy | Disable start | X | X |
| Distributed Link Tracking Client | Disable start | X | X |
| Encrypting File System | Disable start | X | X |
| Family Safety | Disable start | X | |
| Fax | Disable start | X | |
| Function Discovery Resource Publication | Disable start | X | X |
| HomeGroup Listener | Disable start | X | X |
| HomeGroup Provider | Disable start | X | X |
| Microsoft iSCSI Initiator | Disable start | X | X |
| Microsoft Software Shadow Copy Provider | Disable start | X | X |
| Network List Service | Auto start | X | X |
| Optimize Drives | Disable start | X | |
| Secure Socket Tunneling Protocol | Disable start | X | X |
| Sensor Monitoring | Disable start | X | |
| Shell Hardware Detection | Disable start | X | X |
| SNMP Trap | Disable start | X | X |
| SSDP Discovery | Disable start | X | X |
| Telephony | Disable start | X | X |
| Themes | Disable start | X | X |
| UPnP Device Host | Disable start | X | X |
| Volume Shadow Copy | Disable start | X | X |
| Windows Backup | Disable start | X | X |
| Windows Color System | Disable start | X | X |
| Windows Connect Now – Config Registrar | Disable start | X | X |
| Windows Defender | Disable start | X | X |
| Windows Error Reporting | Disable start | X | X |
| Windows Media Player Network Sharing | Disable start | X | X |
| Windows Search | Disable start | X | X |
| WLAN AutoConfig | Disable start | X | X |
| WWAN AutoConfig | Disable start | X | X |
Machine settings:
| Setting | Change | Win8 | Win7 |
| Hard disk timeouts | Disable | X | X |
| TCP/IP / Large Send Offload | Disable | X | X |
| Hibernate | Disable | X | X |
| System Restore | Disable | X | X |
| NTFS Last Access Timestamps | Disable | X | X |
| Machine Account Password Changes | Disable | X | X |
| Memory dumps | Disable | X | X |
| Default system screensaver | Disable | X | X |
| Service startup | Increase timeouts | X | X |
| Disk I/O | Increase timeout | X | X |
| Event logs | Log size 1028KB
Retention to “overwrite” |
X | X |
| PopUp Error Mode | Set to “Neither” | X | X |
| Bootlog | Disable | X | X |
| Boot animation | Disable | X | X |
| UAC secure desktop prompt | Disable | X | X |
| New Network dialog | Disable | X | X |
| AutoUpdate of drivers from Windows Update | Disable | X | X |
| Windows SideShow | Disable | X | |
| NetFX3 | Install | X | |
| IE First Run Wizard | Disable | X | X |
| Ability to clear the paging file during shutdown |
Disable | X | X |
| Disk cleanup | Run with adjusted settings | X | X |
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:
| Setting | Change | Win8 | Win7 |
| Menu show delay | Reduced | X | X |
| Cursor blink | Disable | X | X |
| Composition in IE | Force off-screen | X | X |
| Screensavers | Disable | X | X |
| Window contents when dragging | Don’t show | X | X |
| Window minimize/maximize animations | Don’t show | X | X |
| Font smoothing | Disable | X | X |
| Show translucent selection rectangle | Disable | X | X |
| Slide taskbar buttons | Disable | X | X |
| Use background image for each folder type | Disable | X | X |
| Use drop shadows for icon labels on the desktop |
Disable | X | X |
| Active window tracking | Disable | X | X |
| Menu animation | Disable | X | X |
| Combo box animation | Disable | X | X |
| List box smooth scrolling | Disable | X | X |
| Gradient captions | Disable | X | X |
| Keyboard cues | Disable | X | X |
| Active windows tracking Z order | Enable | X | X |
| Menu fade | Disable | X | X |
| Selection fade | Disable | X | X |
| Tool tip animation | Disable | X | X |
| Tool tip fade | Disable | X | X |
| Cursor shadow | Disable | X | X |
| Action Center | Disable | X | X |
| IE Persistent Cache | Disable | X | X |
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.