The purpose of this blog post is to provide a list of commonly applied optimizations for Citrix environments and provide assistance with their implementation through a script – yes, you read that correctly, a SCRIPT
For those of you who are familiar with the original blog post, we decided to make some minor updates to the original list and script and make the script compatible with Windows 8.1 and Windows Server 2012.
Although not every setting may apply to every use case, most of these settings should apply to Windows 8/8.1 and Server 2012/2012 R2 virtual machines running on XenDesktop 7.x
This blog is divided into four sections: service settings, computer settings, user settings and an awesome script.
Service Settings
The following services are recommended to be evaluated for being set to disabled:
- Application Layer Gateway Service
- Background Intelligent Transfer Service
- BitLocker Drive Encryption Service
- Block Level Backup Engine Service
- Bluetooth Support Service
- Computer Browser
- Device Association Service
- Device Setup Manager Service
- Diagnostic Policy Service
- Distributed Link Tracking Client
- Family Safety
- Fax
- Function Discovery Resource Publication
- HomeGroup Listener
- HomeGroup Provider
- Microsoft Software Shadow Copy Provider
- Offline Files
- Optimize Drives
- Secure Socket Tunneling Protocol Service
- Security Center
- Sensor Monitoring Service
- Shell Hardware Detection
- SNMP Trap Service
- SSDP Discovery
- Superfetch
- Telephony
- UPnP Device Host
- Volume Shadow Copy
- Windows Backup
- Windows Color System
- Windows Connect Now – Config Registrar
- Windows Defender Service
- Windows Error Reporting Service
- Windows Media Player Network Sharing Service
- Windows Update
- WLAN AutoConfig
- WWAN AutoConfig
The following services are recommended to be evaluated for being set to auto:
- Network List Service
Computer Settings
Below are the recommended baseline computer settings and optimizations:
- Configure Event Logs to 1028KB and set retention to “overwrite”
- Configure processor resources for best performance of “Programs”
- Configure Visual Effects for “best performance”
- Disable automatic updates of drivers from Windows Updates
- Disable boot log and boot animation
- Disable Data Execution Prevention
- Disable default system screensaver
- Disable hard disk timeouts
- Disable hibernation
- Disable Internet Explorer First Run Wizard and RSS Feeds
- Disable Internet Explorer Enhanced Security
- Disable Machine Account Password Changes
- Disable New Network dialog
- Disable NTFS Last Access Timestamps
- Disable System Restore
- Disable TCP/IP / Large Send Offload
- Disable the ability to clear the paging file during shutdown
- Disable UAC secure desktop prompt
- Disable Background Layout Service
- Disable CIFS Change Notifications
- Increase Disk I/O Timeout to 200 seconds
- Increase service startup timeouts
- Set Popup Error Mode to “Neither”
- Set Power Saving Scheme to “High Performance”
- Set Recovery Dump to “Small”
- Turn off Windows Slide Show and install NetFX3
Disable the following Scheduled Tasks:
- AitAgent
- AnalyzeSystem
- AutoWake
- BfeOnServiceStartTypeChange
- BthSQM
- ConfigNotification
- Consolidated
- DiskDiagnosticDatacollector
- DiskDiagnosticResolver
- FamilySafetyMonitor
- FamilySafetyRefresh
- GadgetManager
- HotStart
- KernelCeipTask
- MobilityManager
- ProgramDataUpdater
- Proxy
- RacTask
- RegIdleBackup
- ResolutionHost
- Scheduled
- SessionAgent
- StartupAppTask
- SystemDataProviders
- UninstallDeviceTask
- UpdateLibrary
- Uploader
- UpnPHostConfig
- UsbCeip
- Windows Filtering
- WinSAT
User Settings
Below are the recommended user settings for Windows 8/8.1 and Server 2012 in XenDesktop 7 environments:
- Disable Action Center
- Disable cursor blink
- Disable Internet Explorer persistent cache
- Disable screensaver
- Force off-screen composition in Internet Explorer
- Reduce menu show delay to 150 milliseconds
Note: User Settings when applied within a profile are done only for that user. In order for the User –based policies to apply to all users, the modified user profile must either replace the Default User Profile, information on this process is available here. Optionally, the profile can be deployed as a template profile through a Profile Management solution such as Citrix Profile Management.
Recommended Hotfix
Another thing worthy of mentioning is that we highly recommend applying the July, 2013 Hotfix Rollup from Microsoft. This fixes a memory leak issue in Windows 8 and Server 2012 which eventually causes the server to exhaust its resources and slow down to a crawl.
The Awesome Script
And now for the part that you likely scrolled all the way down to get to… the awesome script that does all of the above for you. The file “Windows8and2012VDIBaseline.vbs” which can be downloaded here is a VBS script that will perform the optimizations highlighted within this blog in an automated fashion. This script is intended to be run on your “Golden Image” (aka. Base image) which is used to create MCS clones or PVS streams.
Note: After running the script, a reboot is needed in order for the script registries to apply properly. As with any script, we highly encourage understanding what the script does prior to running it. Whitehat nor the authors are liable for any issues that come as a result of running this script so please make sure to make backups of your registry and Virtual Machine or VHD file prior to running the script, just in case something goes wrong
Special thanks to Jonathan Bennett (AutoITScript) for creating a wonderful optimizer tool and to Jeff Stokes (MSFT) for creating the original baseline script for Windows 7 that we leveraged as a base for the script provided above.
For additional information on XenDesktop 7, please reference Citrix eDocs. For optimizations that apply to Windows 7 machines, please review the Windows 7 Optimization Guide for Desktop Virtualization Citrix White Paper.
Until next time
Feel free to leave comments below regarding these optimizations, feedback on the script or any other recommendations that we might have missed so that we can update them accordingly. The optimizations and script are a continual work in progress so feedback is greatly appreciated!
-Pablo & Steven
Pablo Legorreta, Principal Enterprise Architect, Whitehat Virtual
Steven Krueger, Sales Engineer, Citrix Systems
Good deal Pablo. Thanks for sharing!
Great summary Pablo! And thanks for the awesome script! With just a little bit of tweaking it saves a ton of time!!!
Saludos!
When Windows 10 script will be realised? Thanks
Planning to have the script ready within the next month or two as I am currently doing testing on it.