Virtual Machine Optimization

I was recently speaking to an old colleague of mine, Danny Clarke who is one of the founders of Add3 which specialise in application and desktop deployment and virtualisation technologies.

 

He was kind enough to point me to a really neat free tool developed by one of our software teams which I am ashamed to say I was not aware of. The Quest vWorkspace Desktop Optimizer allows you to optimise your Virtual Machines by giving you the option to turn of Windows services and settings that are not necessary. The statistics are impressive, results show that IOPS can be reduced by 90%, 43% less disk space is used and 10% less RAM usage.

 

The application work in a very straight forward way. There is an xml file which contains the settings and the values that can be changed. This made me think of the Virtual Machines that ChangeBASE use for repackaging and virtualising applications. So I created the attached xml file that also change settings like switch off the Windows Firewall, turn of Windows Defender and switch off UAC.

To Use this tool:

 

1. Dowload vWorkspace Desktop Optimizer can be downloaded from : https://www.quest.com/

2. Download the attached QuestOptimizations.xml file and replace the existing file

3. Run vWorkspace Desktop Optimizer as admin by right clicking on the .exe and selecting Run As Administrator.

 

Read all about vWorkspace Desktop Optimizer here:

https://www.quest.com/community

 

**** PS. I have used a using a command line option to turn off Windows Firewall. Although the Firewall Service will remain running when you actually look at the firewall settings in the Firewall and Advance Security Control Panel the Firewall will show as turned off.

QuestOptimizations.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="QuestOptimizations.xsl"?>
<Optimizations><Item><Number>1</Number><Name>Disable Offline Files</Name><Description>Disable network shares to sync files on to the local system to be used if the network is unavailable. Justification:Offline Files should not be used in a hosted desktop enviroment. They require additional CPU and memory resources, while the functionality is unlikely to be used.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>Basic</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache</Key><ValueName>Enabled</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry></RegistryEntries></Item><Item><Number>2</Number><Name>Disable Offline files service</Name><Description>The Offline Files service performs maintenance activities on the Offline Files cache, responds to user logon and logoff events, implements the internals of the public API, and dispatches interesting events to those interested in Offline Files activities and changes in cache state.Justification:Offline Files should not be used in a hosted desktop enviroment. They require additional CPU and memory resources, while the functionality is unlikely to be used.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CscService</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop CscService</Command></CommandLine></CommandLines></Item><Item><Number>3</Number><Name>Disable Autoupdate</Name><Description>Autoupdate enables the detection, download, and installation of updates for Windows and other programs. If this service is disabled, users of this computer will not be able to use Windows Update or its automatic updating feature, and programs will not be able to use the Windows Update Agent (WUA) API. Justification:Updates should be applied using virtual desktop management tools.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Medium</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update</Key><ValueName>AUOptions</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update</Key><ValueName>ScheduledInstallDay</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update</Key><ValueName>ScheduledInstallTime</ValueName><KeyType>DWORD</KeyType><Value>00000003</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop wuauserv</Command></CommandLine></CommandLines></Item><Item><Number>4</Number><Name>Disable Background Defrag</Name><Description>Turns off the ability to defrag the local file system. Justification:Defrag generates severly more storage IO and significantly grows differencing disk or linked clone based virtual desktops (disk space) while the functionality should not be used for virtual desktops. 

Not disabling background defrag can severly limit scalability.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction</Key><ValueName>Enable</ValueName><KeyType>STRING</KeyType><Value>N</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout</Key><ValueName>EnableAutoLayout</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\defragsvc</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop defragsvc</Command></CommandLine></CommandLines></Item><Item><Number>5</Number><Name>Disable System Restore</Name><Description>Performs system restore functions. Justification:System Restore significantly grows virtual desktops (disk space) by making regular restore points, while the functionality is unlikely to be used.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Medium</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sr</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\srservice</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore</Key><ValueName>DisableSR</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop srservice</Command></CommandLine><CommandLine><Command>net stop sr</Command></CommandLine></CommandLines></Item><Item><Number>6</Number><Name>Disable Last Access Timestamp</Name><Description>Disable Last Access Timestamp to be updated when directory is accessed. Justification:Updating the time stamp every time a file is accessed requires CPU cycles.</Description><OSVersion>All</OSVersion><Enabled>False</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem</Key><ValueName>NtfsDisableLastAccessUpdate</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry></RegistryEntries></Item><Item><Number>7</Number><Name>Disable Indexing Service</Name><Description>Indexes contents and properties of files on local and remote computers; provides rapid access to files through flexible querying language.Justification:Indexing generates severly more storage IO and significantly grows differencing disk or linked clone based virtual desktops (disk space).</Description><OSVersion>WindowsServer2003</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\cisvc</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop cisvc</Command></CommandLine></CommandLines></Item><Item><Number>8</Number><Name>Disable Windows Search</Name><Description>Provides content indexing, property caching, and search results for files, e-mail, and other content.Justification:Windows Search Generates severly more storage IO and significantly grows differencing disk or linked clone based virtual desktops (disk space).</Description><OSVersion>Windows7</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WSearch</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop WSearch</Command></CommandLine></CommandLines></Item><Item><Number>9</Number><Name>Disable Move to Recycle Bin</Name><Description>Disallows moving files to the recycle bin. Justification:The Recycle Bin is part of the virtual desktop and takes up storage. End users can (unwittingly) leave a lot of items in the Recycle Bin and thus unnecessarily use (too much) storage.</Description><OSVersion>All</OSVersion><Enabled>False</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BitBucket</Key><ValueName>UseGlobalSettings</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BitBucket</Key><ValueName>NukeOnDelete</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry></RegistryEntries></Item><Item><Number>10</Number><Name>Reduce Event Log Size to 64k</Name><Description>Reduce Event Log Size to 64k. Justification:The Event Log is part of the virtual desktop and takes up storage. Large Event Logs are usually not needed inside virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application</Key><ValueName>MaxSize</ValueName><KeyType>DWORD</KeyType><Value>00010000</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security</Key><ValueName>MaxSize</ValueName><KeyType>DWORD</KeyType><Value>00010000</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\System</Key><ValueName>MaxSize</ValueName><KeyType>DWORD</KeyType><Value>00010000</Value></RegistryEntry></RegistryEntries></Item><Item><Number>11</Number><Name>Reduce IE Temp File</Name><Description>Reduces the amount of files that IE is allowed to store. Justification:IE Temp File are part of the virtual desktop and take up storage</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content</Key><ValueName>CacheLimit</ValueName><KeyType>DWORD</KeyType><Value>00000400</Value></RegistryEntry><RegistryEntry><Key>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Content</Key><ValueName>CacheLimit</ValueName><KeyType>DWORD</KeyType><Value>00000400</Value></RegistryEntry><RegistryEntry><Key>HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content</Key><ValueName>CacheLimit</ValueName><KeyType>DWORD</KeyType><Value>00000400</Value></RegistryEntry><RegistryEntry><Key>HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Content</Key><ValueName>CacheLimit</ValueName><KeyType>DWORD</KeyType><Value>00000400</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths</Key><ValueName>Paths</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path1</Key><ValueName>CacheLimit</ValueName><KeyType>DWORD</KeyType><Value>00000100</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path2</Key><ValueName>CacheLimit</ValueName><KeyType>DWORD</KeyType><Value>00000100</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path3</Key><ValueName>CacheLimit</ValueName><KeyType>DWORD</KeyType><Value>00000100</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths\path4</Key><ValueName>CacheLimit</ValueName><KeyType>DWORD</KeyType><Value>00000100</Value></RegistryEntry></RegistryEntries></Item><Item><Number>12</Number><Name>Disable Clear Page File at Shutdown</Name><Description>Disable clearing the virtual memory pagefile when you restart or shutdown the computer. Justification:Clearing the virtual memory pagefile Requires a lot of IO and increases the reboot time.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management</Key><ValueName>ClearPageFileAtShutdown</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry></RegistryEntries></Item><Item><Number>13</Number><Name>Disable Memory Dumps</Name><Description>Disable Memory Dumps when the computer suffers a crash.Justification:Memory Dumps require a lot of IO, increases the reboot time and generally prolongs the life of a desktop that will not be used anymore: desktops are redeployed much faster than it is to solve the problem that caused the memory dump.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl</Key><ValueName>CrashDumpEnabled</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl</Key><ValueName>LogEvent</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl</Key><ValueName>SendAlert</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry></RegistryEntries></Item><Item><Number>14</Number><Name>Disable Superfetch</Name><Description>Maintains and improves system performance over time.Justification:Superfetch generates more storage IO and significantly grows differencing disk or linked clone based virtual desktops (disk space).</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Medium</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysMain</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop SysMain</Command></CommandLine></CommandLines></Item><Item><Number>15</Number><Name>Disable Visual Effects</Name><Description>Disable Visual Effects for current user. Justification:Visual Effects require use more CPU and memory resources. 

Please note that disabling visual effects will impact the 'richness' of the user experience.</Description><OSVersion>Windows7</OSVersion><Enabled>False</Enabled><Mode>HiDef</Mode><Impact>Medium</Impact><Category>User Experience</Category><RegistryEntries><RegistryEntry><Key>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects</Key><ValueName>VisualFXSetting</ValueName><KeyType>DWORD</KeyType><Value>00000003</Value></RegistryEntry><RegistryEntry><Key>HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics</Key><ValueName>MinAnimate</ValueName><KeyType>STRING</KeyType><Value>0</Value></RegistryEntry><RegistryEntry><Key>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced</Key><ValueName>ListviewAlphaSelect</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry><RegistryEntry><Key>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced</Key><ValueName>TaskbarAnimations</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry><RegistryEntry><Key>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced</Key><ValueName>ListviewWatermark</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry><RegistryEntry><Key>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced</Key><ValueName>ListviewShadow</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry><RegistryEntry><Key>HKEY_CURRENT_USER\Control Panel\Desktop</Key><ValueName>DragFullWindows</ValueName><KeyType>STRING</KeyType><Value>0</Value></RegistryEntry><RegistryEntry><Key>HKEY_CURRENT_USER\Control Panel\Desktop</Key><ValueName>FontSmoothing</ValueName><KeyType>STRING</KeyType><Value>0</Value></RegistryEntry></RegistryEntries></Item><Item><Number>16</Number><Name>Reduce Menu Show Delay</Name><Description>Reduce the delay for Menu Show for current user. Justification:Displays the start menu immediatly versus having a slight delay before showing. Improves he perception of responsivess for the end user.</Description><OSVersion>Windows7</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>User Experience</Category><RegistryEntries><RegistryEntry><Key>HKEY_CURRENT_USER\Control Panel\Desktop</Key><ValueName>MenuShowDelay</ValueName><KeyType>STRING</KeyType><Value>150</Value></RegistryEntry></RegistryEntries></Item><Item><Number>17</Number><Name>Force Offscreen Composition for Internet Explorer</Name><Description>Force Offscreen Composition for Internet Explorer for current user. Justification:When you use Microsoft Internet Explorer to view a Web page that contains animated content over a RDP sesion, the animated content may flicker. This optimisation removes the flicker. Improves the end user experience.</Description><OSVersion>Windows7</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>User Experience</Category><RegistryEntries><RegistryEntry><Key>HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main</Key><ValueName>Force Offscreen Composition</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry></RegistryEntries></Item><Item><Number>18</Number><Name>Disable Large Send Offload</Name><Description>Disables TCP message up to 64 KB long and send it in one call down the stack through IP and the Ethernet device driver.Justification:This optimisation does not queue TCP messages and sends out immediatly. Improves the end user experience.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>User Experience</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNNS\Parameters</Key><ValueName>EnableOffload</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry></RegistryEntries></Item><Item><Number>19</Number><Name>Disable TCP/IP Offload</Name><Description>Disables offloading of tasks that are being processed by the CPU to the NIC. Justification:TCP/IP Offloading does not apply to virtual network adapters.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters</Key><ValueName>DisableTaskOffload</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry></RegistryEntries></Item><Item><Number>20</Number><Name>Hide Hard Error Messages</Name><Description>Disables System Hard Error Message Dialog Boxes. Justification:Windows might require System Hard Error messages to be acknowledged before continueing. System Hard error messages only appear on the console of the Windows machine, thus inaccesible via most RDP sessions.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>User Experience</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows</Key><ValueName>ErrorMode</ValueName><KeyType>DWORD</KeyType><Value>00000002</Value></RegistryEntry></RegistryEntries></Item><Item><Number>21</Number><Name>Disable CIFS Change Notifications</Name><Description>Disable notifications when a share status is changed. Justification:Requires additional CPU and memory, usually not needed in virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer</Key><ValueName>NoRemoteRecursiveEvents</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry></RegistryEntries></Item><Item><Number>22</Number><Name>Disable Logon Screensaver</Name><Description>Disables a screensaver to start when sitting at the logon screen.Justification:This screensaver applies to the physical console only. Since virtual desktops users connect via RDP, this screensaver is useless and Requires additional CPU and memory resources.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_USERS\.DEFAULT\Control Panel\Desktop</Key><ValueName>ScreenSaveActive</ValueName><KeyType>STRING</KeyType><Value>0</Value></RegistryEntry></RegistryEntries></Item><Item><Number>23</Number><Name>Disable Hibernate</Name><Description>Turns off the abilty for the computer to go into hibernate. Justification:Hibernation should not be used in VDI environments, saving or suspending of virtual desktops is preferred.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>Storage</Category><CommandLines><CommandLine><Command>powercfg.exe /hibernate off</Command></CommandLine></CommandLines></Item><Item><Number>24</Number><Name>Disabling Win 7 boot animation</Name><Description>Disables the Windows animation that is seen during startup. Justification:Requires additional CPU and memory resources, yet is never seen by the virtual desktop user.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><CommandLines><CommandLine><Command>bcdedit /set bootux disabled</Command></CommandLine></CommandLines></Item><Item><Number>25</Number><Name>Delete Scheduled tasks</Name><Description>Removes scheduled tasks for disk defrag, registry backup, system restore, defender.Justification:These scheduled tasks generate severly more storage IO and significantly grows differencing disk or linked clone based virtual desktops (disk space).

Not deleting these scheduled tasks can severly limit scalability.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>Storage</Category><CommandLines><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows\Defrag\ScheduledDefrag"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows\Diagnosis\Scheduled"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows\DiskDiagnostic\DataCollector"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows\Maintenance\WinSAT"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows\Registry\RegIdleBackup"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows\SystemRestore\SR"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows\WindowsBackup\ConfigNotification"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows Defender\MP Scheduled Scan"</Command></CommandLine><CommandLine><Command>schtasks /Delete /F /TN "\Microsoft\Windows Defender\MPIdleTask"</Command></CommandLine></CommandLines></Item><Item><Number>26</Number><Name>Disable Application Experience</Name><Description>Processes application compatibility cache requests for applications as they are launched.Justification:Requires additional CPU and memory, usually not needed in virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>False</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AeLookupSvc</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop AeLookupSvc</Command></CommandLine></CommandLines></Item><Item><Number>27</Number><Name>Disable Base Filtering Engine</Name><Description>The Base Filtering Engine (BFE) is a service that manages firewall and Internet Protocol security (IPsec) policies and implements user mode filtering. Stopping or disabling the BFE service will significantly reduce the security of the system. It will also result in unpredictable behavior in IPsec management and firewall applications.Justification:Requires additional CPU and memory, usually not needed in virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>False</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BFE</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop BFE</Command></CommandLine></CommandLines></Item><Item><Number>28</Number><Name>Disable Background Intelligent Transfer</Name><Description>Transfers files in the background using idle network bandwidth. If the service is disabled, then any applications that depend on BITS, such as Windows Update or MSN Explorer, will be unable to automatically download programs and other information.Justification:Requires additional CPU and memory, usually not needed in virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>False</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BITS</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop BITS</Command></CommandLine></CommandLines></Item><Item><Number>29</Number><Name>Disable Function Discovery Resource Publication</Name><Description>Publishes this computer and resources attached to this computer so they can be discovered over the network.  If this service is stopped, network resources will no longer be published and they will not be discovered by other computers on the network.Justification:Requires additional CPU and memory, usually not needed in virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FDResPub</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop FDResPub</Command></CommandLine></CommandLines></Item><Item><Number>30</Number><Name>Disable Themes</Name><Description>Provides user experience theme management.Justification:Requires additional CPU and memory resources. Note: disabling themes will impact the 'richness' of the user experience.</Description><OSVersion>All</OSVersion><Enabled>False</Enabled><Mode>HiDef</Mode><Impact>Medium</Impact><Category>User Experience</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Themes</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop Themes</Command></CommandLine></CommandLines></Item><Item><Number>31</Number><Name>Disable Windows Defender</Name><Description>Protection against spyware and potentially unwanted software. Justification:Generates a significant amount of disk IO and Requires greatly more CPU and memory resources. 
Be aware that this does disable the protection against spyware and potentially unwanted software that Defender provides. You should take other measures to protect your virtual destkops against spyware and potentially unwanted software.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>Storage</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinDefend</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop WinDefend</Command></CommandLine></CommandLines></Item><Item><Number>32</Number><Name>Disable WLAN Autoconfig</Name><Description>The WLANSVC service provides the logic required to configure, discover, connect to, and disconnect from a wireless local area network (WLAN) as defined by IEEE 802.11 standards. It also contains the logic to turn your computer into a software access point so that other devices or computers can connect to your computer wirelessly using a WLAN adapter that can support this. Stopping or disabling the WLANSVC service will make all WLAN adapters on your computer inaccessible from the Windows networking UI. It is strongly recommended that you have the WLANSVC service running if your computer has a WLAN adapter.Justification:Requires additional CPU and memory resources, wifi is not supported in virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Medium</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wlansvc</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop Wlansvc</Command></CommandLine></CommandLines></Item><Item><Number>33</Number><Name>Disable Windows media player Network Sharing</Name><Description>Share windows media player libraries to other networked player and media devices. Justification:Requires additional CPU and memory resources, not recommended for virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WMPNetworkSvc</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop WMPNetworkSvc</Command></CommandLine></CommandLines></Item><Item><Number>34</Number><Name>Disable HomeGroup Provider</Name><Description>Performs networking tasks associated with configuration and maintenance of homegroups. If this service is stopped or disabled, your computer will be unable to detext other homegroups and your homegroup might not work properly. Justification:Requires additional CPU and memory resources, not needed for virtual desktops.</Description><OSVersion>Windows7</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HomeGroupProvider</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop HomeGroupProvider</Command></CommandLine></CommandLines></Item><Item><Number>35</Number><Name>Disable Internet Connection Sharing</Name><Description>Provides network address translation, addressing, name resolution and/or intrusion prevention services for a home or small office network.Justification:Requires additional CPU and memory resources, not needed for virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop SharedAccess</Command></CommandLine></CommandLines></Item><Item><Number>36</Number><Name>Disable Routing and remote Access</Name><Description>Offers routing services to businesses in local area and wide area network environments.Justification:Requires additional CPU and memory resources, not needed for virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop RemoteAccess</Command></CommandLine></CommandLines></Item><Item><Number>37</Number><Name>Disable Media Center Extender Service</Name><Description>Allows Media Center Extenders to locate and connect to th computer.Justification:Requires additional CPU and memory resources, usually not needed for virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mcx2Svc</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop Mcx2Svc</Command></CommandLine></CommandLines></Item><Item><Number>38</Number><Name>Disable Net.Tcp Port Sharing Service</Name><Description>Provides ability to share TCP ports over the net.tcp protocol.Justification:Requires additional CPU and memory resources, usually not needed for virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetTcpPortSharing</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop NetTcpPortSharing</Command></CommandLine></CommandLines></Item><Item><Number>39</Number><Name>Lower Terminal Server Client send interval</Name><Description>Lowers the terminal server send interval from the default 100ms to 10ms, for faster screen updates. Justification:Improves the user experience signficantly on the LAN.</Description><OSVersion>All</OSVersion><Enabled>False</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>User Experience</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Terminal Server Client</Key><ValueName>Min Send Interval</ValueName><KeyType>DWORD</KeyType><Value>00000010</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop NetTcpPortSharing</Command></CommandLine></CommandLines></Item><Item><Number>40</Number><Name>Disable Action Center</Name><Description>Monitors and reports security health settings on the computer. Justification:Requires additional CPU and memory, usually not needed in virtual desktops.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>Low</Impact><Category>CPU and memory</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc</Key><ValueName>Start</ValueName><KeyType>DWORD</KeyType><Value>00000004</Value></RegistryEntry><RegistryEntry><Key>HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer</Key><ValueName>HideSCAHealth</ValueName><KeyType>DWORD</KeyType><Value>00000001</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command>net stop wscsvc</Command></CommandLine></CommandLines></Item>
<Item><Number>41</Number><Name>Disable User Account Control</Name><Description>User Account Control. Justification:User Account Control could intefere with automated repackaging and virtualisation process.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>User Experience</Category><RegistryEntries><RegistryEntry><Key>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System</Key><ValueName>enablelua</ValueName><KeyType>DWORD</KeyType><Value>00000000</Value></RegistryEntry></RegistryEntries><CommandLines><CommandLine><Command></Command></CommandLine></CommandLines></Item>
<Item><Number>42</Number><Name>Disable Windows Firewall</Name><Description>Windows Firewall. Justification: If Windows Firewall is enabled it will cause the virtualisation or repackaging process to fail.</Description><OSVersion>All</OSVersion><Enabled>True</Enabled><Mode>HiDef</Mode><Impact>High</Impact><Category>User Experience</Category><CommandLines><CommandLine><Command>netsh advfirewall set allprofiles state off</Command></CommandLine></CommandLines></Item>
</Optimizations>

">QuestOptimizations.xml

Anonymous