RG066 – Automated VDI Optimization

By Max Ranzau


kcaoFrom the BuildingBlock Dept. Here’s a set of buildingblocks for Automation Manager I’d like to share with you. They have kindly been provided by my co-blogger Rob Aarts. Rob asked me to go through the buildingblock and we agreed to document the result in an article. This collection of modules is very useful when implementing best practices for a Windows 8.1 golden pattern/image. Most of the changes below are already documented online ad nauseum in numerous articles across the net, so I will give you a overview of what optimizations are included in this package. The module collection have the following capabilities:

Default profile registry settings: Configures a few recommended registry settings in .DEFAULT user – check this module out as it gives you a nifty way of actually implementing HKCU settings via Automation Manager.

Run the disk cleanup wizard: This gets rid of the temporary files, offline webpages and all that other gunk that would otherwise waste space for no reason in your workload image.

Explorer tweaks: This is a hodgepodge for HKLM based explorer settings to further simplify the workload. You may want to go through this module as it’s not everything in there which may be of relevance for your own implementation. This particular module include:

  • Set registry permissions for SYSTEM on CSIDL {F02C1A0D-BE21-4350-88B0-7367FC96EF3C} (google it, but in short it’s necessary for some of the following tweaks)
  • Remove Network node from explorer tree
  • Remove unwanted personal folders (My videos, My Music and Desktop) for both x64 and x86 based workloads.

Other tweaks: This module is a collection of commands also based on best practices, to disable/enable Windows settings, which in turn further optimizes the VDI workload’s startup time and general performance. The module includes the following:

  • Disable NTFS last access timestamps (slows things down when enabled)
  • Disable Boot logo+log and hibernation
  • Enable windows remote management (we all want that!)
  • Remove the pesky Modern/Metro Win8.1 apps (refer to this technet article on what’s going on)
  • Remove the Fax device (as we for once don’t want the users to go fax themselves… :)

vdi-regRegistry optimizations: More machine based registry settings to either remove general annoyances, speed things up, etc. There are 13 optimizations included in this module: Disable boot optimization, TCP/IP large send offload, system restore, memory dumps, new network dialog, and clearing of pagefile on shutdown. The module also increases disk I/O timeout and service startup timeouts and much more.

vdi-tasksScheduled tasks: As we all know there are loads of things that happen behind our backs in a windows session. Keeping these to a minimum in a workload will keep everyone happy. This module disables 31 different background subsystems. Examples are Windows Defender (yes, it’s nice but it has no business in a workload), System restore, Bluetooth monitoring, several CEIP items (Customer Experience Improvement Programs) and much more.

vdi-svcsServices: The last module in the optimization pack disables 61 Windows services which according to best practices are deemed unnecessary in a VDI workload. There are 3 services which are left untouched (i.e. defined, but not being disabled) by this module per default: Device Setup Manager, Function Discovery Provider Host, Windows Search and Windows Store (if disabled, Windows store-based apps do not work) I will leave it to your own discretion to determine if these 4 additional services are right to disable in your own scenario.

Closing notes: In general I recommend that you breeze through the modules for items that you may want to keep running as these modules together completely strips the workload down to the bare metal for maximum performance yield.

Click the brick to download: legobrick-cropped


No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.