List of Resources on Windows 7 Optimization for VDI

It's a common practice to optimize a Windows 7 virtual machine (VM) template (or image) specifically for VDI use. Usually such customizations include the following.

  • Minimize the footprint, e.g. disable some features and services that are not required when the OS is used in “stateless” or “non-persistent” fashion. This is especially true for disk-intensive workloads since disk I/O is a common bottleneck for VDI deployment. (Especially if there are multiple VMs with the same I/O patterns that are timely aligned).
  • Lock down user interface (e.g. optimize for specific task workers).

With that said the certain practices are quite debatable and vary between actual real-world deployments. Exact choices whether to disable this or that particular component depend on customer requirements and VDI usage patterns. E.g. in personalized virtual desktop scenario there's much less things to disable since the machine is not completely “stateless”. Some customers rely heavily on particular UI functions and other can relatively easily trade them off for the sake of performance or standardization (thus enhance supportability and potentially security). This is one of the primary reasons why Microsoft doesn't publish any “VDI Tuning” guide officially.

Though there are a number of such papers and even tools published either by the community or third parties. This Wiki page is aimed to serve as a consolidated and comprehensive list of such resources.

Publisher Type Title Comment
Microsoft Remote Desktop Services (Terminal Services) Team Blog post Customize RDP settings for Virtual Desktops Basic information with detailed prescriptive steps.
Microsoft Remote Desktop Services team Script Configure Guest OS for Microsoft VDI (VB Script), Configure Guest OS for Microsoft VDI (Windows PowerShell Script) Configures Guest OS for use with Windows Server 2008 R2 VDI.
 The PFE View On VDI Script and HTA  PFE Work  For some, VDI is about density. How many guests can we stuff into a host with performance and user experience still at acceptable levels? This script is the clarion call for those, a herald in dark times of performance degradation. It is, the script a couple PFEs wrote…

It makes an image lean but supportable. Fast, quick, usable (of course TEST TEST TEST for your applications and needs).

“The Deployment Guys” (Microsoft Consulting Services, MCS) Utility VDI Optimizer  The tool called VDI Optimizer outputs a VBScript (based on the selections you make in the GUI interface), which can then be used to apply performance and configuration settings to images that will be deployed via VDI platforms – this is particularly useful if you are using MDT 2010 for your image engineering process as the VBScript can bolted into the task sequence using a Run Command Line task.
Citrix Systems, Inc. Whitepaper Citrix XenDesktop—Windows 7 Optimization Guide for Desktop Virtualization The Windows 7 optimizations identified within this document are intended to provide a more responsive desktop for the users.
These configurations typically add value by enhancing the user experience and increasing system performance. For example, some of the changes optimize the user experience by enabling faster logons, reducing unnecessary prompts, and quicker screen updates. Others optimize performance and increase scalability by reducing unnecessary processor, memory, disk and network usage.
VMware, Inc. Whitepaper VMware View Optimization Guide for Windows 7 This guide provides administrators with the information necessary
to create a standard image of Windows 7 leveraging the Microsoft Deployment Toolkit or by utilizing a
script-based approach to optimize a traditionally installed Windows 7 virtual machine. The recommended
configuration settings optimize Windows 7 to help enhance the overall scalability and performance within a
VMware View Virtual Desktop Infrastructure.
The first section of the paper will discuss the overall process of optimization and the optimization aids provided.
In the next section, step-by-step procedural guidance is given for both methods of optimization. Afterward,
the Windows 7 Operating System Customizations section provides background information on the specific
optimizations and techniques used by the optimization aids.
Project Virtual Reality Check (Project VRC is a joint venture between Login Consultants and PQR) Whitepaper Project VRC Phase III (free sign-up required) In this whitepaper Windows XP and Windows 7 are extensively compared. Specifically, the I/O behavior of Windows XP and Windows 7 is investigated in detail. By evaluating the different phases of a desktop workload, completely new insights are given. Many best practices are available to optimize Windows 7. Project VRC performed tests with the default optimizations configured by VSI (referred in this document as ‘VSI optimizations’) and additional optimization best practices that are specific to Windows 7 (referred as ‘VRC optimizations’). Both from an I/O and VSImax (maximum capacity) perspective, these ‘VRC optimizations’ proved to have a significant positive impact.
Quest Software, Inc Utility Quest vWorkspace Desktop Optimizer
A GUI and command-line utility for optimizing a Windows image for using in vWorkspace (or any VDI deployment). Currently there are 40 optimizations. You can add your own optimizations by editing the configuration file of the of the Quest vWorkspace Desktop Optimizer.
Group Policy Central Blog  Best Practice: Group Policy for Virtual Desktops Infrastructure (VDI)  Blog post describing how to setup a OU and Group Policy structure to apply optimised setting to VDI guest computers.
Group Policy Central   Group Policy Object VDI Group Policy Optimisation Template and Script  Group Policy Object template that has configuration for VDI guest computers based on the Windows 8 VDI optimisation script provided by Carl Luberti (MSFT) and Jeff Stokes (MSFT) provided here. This script is useful for applying VDI guest optimisations to computers after they have been built.

Other languages

This article is also available in the following languages