Citrix Virtual Desktops and Windows 10 Optimisation Script

Following on from My Article on Citrix XenApp and Windows Server 2016 – Optimisation Script. The following details the Computer Settings that the script will perform in order to Optimise Windows 10 in XenDesktop based environment as per citrix optimisation recommendations/Various blogs and my own experience in running citrix environments.

Tested in the following builds:

  • Windows 10 Enterprise Build 1607 (Anniversary Edition)
  • Windows 10 Enterprise Build 1703 (Creators Edition)

Version History:

  • 1.0  – Initial Optimisation Script
  • 1.1 – Updated Typo’s, additional spaces added Memory Diagnostics to task scheduled disable

The script i have created can be found here w10-optimise-tweaks_v1-1(zip file) , it only related to the Computer Settings, User setting defined later down the document needs to be implemented in GPO/AppSense/WEM etc…

Please extract all files to “C:\temp\OptimisationScript” : NOTE: This is required otherwise some element of the script will fail and run as an administrator in powershell.

Also to get around the restrictions on WordPress rename the following:-

  • RemoveQuickAccessandNetwork.txt to RemoveQuickAccessandNetwork.bat
  • SetACL.txt to SetACL.exe

NOTE: Ensure that the following is run in powershell as administrator to allow the powershell script to run

Set-ExecutionPolicy RemoteSigned

Computer Setting:

Windows In-built Apps

In-built App ID Description
3dbuilder Microsoft 3D Builder
Adobe PhotoShop Express Photoshop
Alarms Windows Alarms
All Bing Bing
Bing Finance Bing.Finance
Bing News Bing.News
Bing Sports Bing.Sports
BingWeather Bing .Weather
Candy Crush King.com
Duolingo Duolingo
Exclipse Manager Exclipse
Getstarted Getting Started
Mail & Messaging Microsoft.windowscommunicationsapps
Messaging Messaging
Microsoft.Wallet Microsoft Wallet
Microsoft3DViewer 3D Viewer
MicrosoftOfficeHub Office Hub
MicrosoftSolitaireCollection Soliatire Collection
MicrosoftStickyNotes Stickey Notes
MSPaint Microsoft.MSPaint
OneConnect Microsoft.OneConnect
OneNote Microsoft.Office.OneNote
People People App
Photos Windows Photos
Remote Desktop Remote Desktop
SkypeApp Skype App
Twitter twitter.com
WindowsCamera Windows Camera
WindowsFeedbackHub Windows Feedback Hub
WindowsMaps Windows Maps
WindowsStore Windows Store
XboxApp Xbox App
XboxGameOverlay Xbox Game Network Overlay
XboxIdentityProvider Xbox Identity Provider
XboxSpeechToTextOverlay Xbox Speech to Test
ZuneMusic Zune Music
ZuneVideo Zune Video
Remove Contact Support Remove-WindowsCapability -name “App.Support.ContactSupport~~~~0.0.1.0” -Online
Remove Quick Assist Remove-WindowsCapability -name “App.Support.QuickAssist~~~~0.0.1.0” -Online

Windows Services (Disabled)

Service Name Service Description
AJRouter AJRouter Service
ALG Application Layer Gateway Service
AppMgmt Application Management Service (do not disable if deploying software via Group Policy)
BDESVC BitLocker Drive Encryption
bthHFSrv Bluetooth Handsfree Service
bthserv Bluetooth Support Service
PeerDistSvc Branch Cache
Browser Computer Browser
DcpSvc DataCollectionPublishingService
DsmSvc Device Setup Manager Service
DPS Diagnostic Policy Service
WdiServiceHost Diagnostic Service Host
WdiSystemHost Diagnostic System Host
TrkWks Distributed Link Tracking Client
MapsBroker Downloaded Maps Manager
EFS Encrypting File System (EFS)
Eaphost Extensible Authentication Protocol Service
Fax Fax
FDResPub Function Discovery Resource Publication
lfsvc Geolocation Service
HomeGroupListener Home Group Listener
vmickvpexchange Hyper-V Data Exchange Service
vmicguestinterface Hyper-V Guest Service Interface
vmicshutdown Hyper-V Guest Shutdown Service
vmicheartbeat Hyper-V Heartbeat Service
vmicvmsession Hyper-V PowerShell Direct Service
vmicrdv Hyper-V Remote Desktop Virtualization Service
vmictimesync Hyper-V Time Synchronization Service
vmicvss Hyper-V Volume Shadow Copy Requestor
imon Infrared Monitor Service
UI0Detect Interactive Services Detection
SharedAccess Internet Connection Sharing
NcaSvc Network Connectivity Assistant
CscService Offline Files
defragsvc Optimize Drives
PhoneSvc Phone Service
Retail Demo RetailDemo
SstpSvc Secure Socket Tunneling Protocol Service
wscsvc Security Centre
SensrSvc Sensor Monitoring Service
ShellHWDetection Shell Hardware Detection
SmsRouter SMS Routing Service
SNMPTRAP SNMP Trap Service
SSDPSRV SSDP Discovery
SysMain Superfetch
TapiSrv Telephony
Themes Themes
upnphost UPnP Device Host
VSS Volume Shadow Copy
dmwappushservice WAP Push Message Routing Service
WinDefend Windows Defender Service
WerSvc Windows Error Reporting Service
icssvc Windows Mobile Hotspot Service
wuauserv Windows Update
dot3svc Wired AutoConfig
WLANSvc WLAN Autoconfig
WwanSvc WWAN AutoConfig
XblAuthManager Xbox Live Auth Manager
XblGameSave Xbox Live Game Save
XblNetApiSvc Xbox Live Networking Service

Scheduled Tasks (Disable)

Task Name Task Path
AD RMS Rights Policy Template Management (Automated) \Microsoft\Windows\Active Directory Rights Management Services Client
AD RMS Rights Policy Template Management (Manual) \Microsoft\Windows\Active Directory Rights Management Services Client
EDP Policy Manager \Microsoft\Windows\AppID
PolicyConverter \Microsoft\Windows\AppID
SmartScreenSpecific \Microsoft\Windows\AppID
VerifiedPublisherCertStoreCheck \Microsoft\Windows\AppID
Microsoft Compatibility Appraiser \Microsoft\Windows\Application Experience
ProgramDataUpdater \Microsoft\Windows\Application Experience
StartupAppTask \Microsoft\Windows\Application Experience
appuriverifierdaily \Microsoft\Windows\ApplicationData
appuriverifierinstall \Microsoft\Windows\ApplicationData
CleanupTemporaryState \Microsoft\Windows\ApplicationData
DsSvcCleanup \Microsoft\Windows\ApplicationData
Proxy \Microsoft\Windows\Autochk
UninstallDeviceTask \Microsoft\Windows\Bluetooth
ProactiveScan \Microsoft\Windows\CHKDSK
Consolidator \Microsoft\Windows\Customer Experience Improvement Program
KernelCeipTask \Microsoft\Windows\Customer Experience Improvement Program
UsbCeip \Microsoft\Windows\Customer Experience Improvement Program
Scheduled \Microsoft\Windows\Diagnosis
Microsoft-Windows-DiskDiagnosticDataCollector \Microsoft\Windows\DiskDiagnostic
Microsoft-Windows-DiskDiagnosticResolver \Microsoft\Windows\DiskDiagnostic
File History (maintenance mode) \Microsoft\Windows\FileHistory\
Notifications \Microsoft\Windows\Location
WindowsActionDialog \Microsoft\Windows\Location
WinSAT \Microsoft\Windows\Maintenance
MapsToastTask \Microsoft\Windows\Maps
MapsUpdateTask \Microsoft\Windows\Maps
MNO Metadata Parser \Microsoft\Windows\Mobile Broadband Accounts
Background Synchronization \Microsoft\Windows\Offline Files
Logon Synchronization \Microsoft\Windows\Offline Files
AnalyzeSystem \Microsoft\Windows\Power Efficiency Diagnostics
MobilityManager \Microsoft\Windows\RAS
VerifyWinRE \Microsoft\Windows\RecoveryEnvironment
RegIdleBackup \Microsoft\Windows\Registry
CleanupOldPerfLogs \Microsoft\Windows\Server Manager
ServerManager \Microsoft\Windows\Server Manager
IndexerAutomaticMaintenance \Microsoft\Windows\Shell
FamilySafetyMonitor \Microsoft\Windows\Shell
FamilySafetyRefreshTask \Microsoft\Windows\Shell
SpeechModelDownloadTask \Microsoft\Windows\Speech
SR \Microsoft\Windows\SystemRestore\
ResolutionHost \Microsoft\Windows\WDI
Windows Defender Cache Maintenance \Microsoft\Windows\Windows Defender
Windows Defender Cleanup \Microsoft\Windows\Windows Defender
Windows Defender Scheduled Scan \Microsoft\Windows\Windows Defender
Windows Defender Verification \Microsoft\Windows\Windows Defender
QueueReporting \Microsoft\Windows\Windows Error Reporting
Registry Idle Backup \Microsoft\Windows\Windows Filtering Platform
Automatic App Update \Microsoft\Windows\WindowsUpdate
Scheduled Start \Microsoft\Windows\WindowsUpdate
sih \Microsoft\Windows\WindowsUpdate
sihboot \Microsoft\Windows\WindowsUpdate
XblGameSaveTask \Microsoft\XblGameSave
XblGameSaveTaskLogon \Microsoft\XblGameSave

Prevent Windows Defender running

Add the following registry key to disable Windows Defender

HKLM\SOFTWARE\Policies\Microsoft\Windows Defender"
"DisableAntiSpyware":dword:1

NOTE: This will not disable Windows or remove it from system tray but prevent it running scan’s. Additional AV products should be installed to replace the feature disabled in Windows Defender

Registry Tweaks (OS/ICA/SMB/OneDrive)

Optimisation Setting
Disable Windows Defender “HKLM\SOFTWARE\Policies\Microsoft\Windows Defender”

“DisableAntiSpyware”:dword:1

Hide VMware Tools Systray Icon HKLM\SOFTWARE\VMware, Inc.\VMware Tools

“ShowTray”=dword: 00000000

Disable NTFS Last Access Timestamps HKLM\SYSTEM\CurrentControlSet\Control\FileSystem]

“NtfsDisableLastAccessUpdate”=dword:00000001

Disable Memory Dump Creation

Do not send Administrative alert during system crash

HKLM\SYSTEM\CurrentControlSet\Control\CrashControl]

“CrashDumpEnabled”=dword:00000000

“SendAlert”=dword:00000000

Increase Disk I/O Timeout to 200

Seconds

HKLM\SYSTEM\CurrentControlSet\Services\Disk]

“TimeOutValue”=dword:000000C8

Disable TCP Offloading HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

“DisableTaskOffload”=dword:00000001

Hide Action Centre HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

HideSCAHealth=dword:00000001

Set Service Startup time from 30 to 45 Secs HKLM\SYSTEM\CurrentControlSet\Control

“ServicesPipeTimeout”=dword:0xafc8

Disable Internet Explorer First Run Wizard HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer\Main

“DisableFirstRunCustomize”=dword:00000001

Disable default system Screensaver HKEY_USERS\.DEFAULT\ControlPanel\Desktop

“ScreenSaveActive”=dword: 00000000

Hide Hard Error Messages [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Windows]

“ErrorMode”=dword:00000002

Disable Paging of Kernel HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management]

“DisablePagingExecutive”=dword:00000001

Write only Errors in Spooler Warning

Events

HKLM\System\CurrentControlSet\Control\Print\Providers

“EventLog”=dword:00000001

Disabled CIFS Change Notificaiton HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

“NoRemoteRecursiveEvents”=dword:0

Additional Worker Thread – To Increaase I/O Performance HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Executive

“AdditionalCriticalWorkerThreads”=dword:64

Active Setup
Windows Media Player 12 HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{22d6f312-b0f6-11d0-94ab-0080c74c7e95}

SubPath – Delete Key

Microsoft Windows Media Player HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\>{22d6f312-b0f6-11d0-94ab-0080c74c7e95}

SubPath – Delete Key

Microsoft Windows Media Player HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{6BF52A52-394A-11d3-B153-00C04F79FAA6}

SubPath – Delete Key

Themes HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{2C7339CF-2B09-4501-B3F3-F3508C9228ED}

SubPath – Delete Key

Windows Mail HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}

SubPath – Delete Key

Windows Desktop Update HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4340}

SubPath – Delete Key

Web Platform Customization HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4383}

SubPath – Delete Key

DotNetFramework HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{89B4C1CD-B018-4511-B0A1-5476DBF70820}

SubPath – Delete Key

IE for Admin HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}

SubPath – Delete Key

IE for Users HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}

SubPath – Delete Key

Windows Media Player 12 HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{22d6f312-b0f6-11d0-94ab-0080c74c7e95}

SubPath – Delete Key

Microsoft Windows Media Player HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\>{22d6f312-b0f6-11d0-94ab-0080c74c7e95}

SubPath – Delete Key

Microsoft Windows Media Player HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{6BF52A52-394A-11d3-B153-00C04F79FAA6}

SubPath – Delete Key

Themes HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{2C7339CF-2B09-4501-B3F3-F3508C9228ED}

SubPath – Delete Key

Windows Mail HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}

SubPath – Delete Key

Windows Desktop Update HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4340}

SubPath – Delete Key

Web Platform Customization HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4383}

SubPath – Delete Key

DotNetFramework HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{89B4C1CD-B018-4511-B0A1-5476DBF70820}

SubPath – Delete Key

IE for Admin HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}

SubPath – Delete Key

IE for Users HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}

SubPath – Delete Key

File Explorer Lockdown
Remove Quick Access from File Explorer Menu HKCR\CLSID\{679f85cb-0220-4080-b29b-5540cc05aab6}\ShellFolder

“Attributes”=dword:2690646016

Remove Networks from File Explorer Menu HKCR\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder

“Attributes”=dword:2962489444

Remove Networks from File Explorer Menu HKCR\Wow6432Node\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder

“Attributes”=dword:2962489444

Applied when Optimising using PVS Target Software but also apply to Persistant Image
Clear Page File at Shutdown HKLM\SYSTEM\CurrentControlSet\Control\Session

Manager\Memory Management]

“ClearPageFileAtShutdown”=dword:00000000

Disable Defrag HKLM\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction

“Enable”=”N”

Disable Hibernation HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\Power

“Heuristics”=hex:05,00,00,00,00,01,00,00,00,00,00,00,00,0

0,00,00,3f,42,0f,00

Disable Large Send OffLoad HKLM\SYSTEM\CurrentControlSet\Services\BNNS\Parameters

“EnableOffload”=dword:00000000

Disable Machine Password Changes HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

“DisablePasswordChange”=dword:00000001

ICA
TimeOut for ICA Sessions HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-TCP

“MaxDisconnectionTime”=dword:10800000

SMB Tuning
Directory Cache, increased to improve performance/Network when Directory when accessing Large Directories HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters

“DirectoryCacheEntriesMax”=dword:4096

File Information Cache, increased to improve performance/Network when Directory when accessing Large Directories HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters

“FileNotFoundCacheEntriesMax”=dword:32768

Limits number of outstanding request for a session HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters

“MaxCmds”:dword:2048

Metadata info Cache, increased to improve performance/Network when Directory when accessing Large Directories HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters

“FileInfoCacheEntriesMax”=dword:32768

Disable Large MTU HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters

“DisableLargeMtu”=dword:0

Disable Bandwidth Throttling HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters

“DisableBandwidthThrottling”

Number of outstanding requests on a session HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters”MaxMpxCt”=dword:2048
Use Opportunistic Locking HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters

“UseOpportunisticLocking”=dword:0

Enable Opportunistic Locking HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters

“EnableOplocks”=dword:0

Number of receive buffers, or work items, the Server service is permitted to allocate at one time. HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters

“MaxWorkItems”:dword:16384

Maximum number of raw work items (undivided receive buffers) that the Server service can allocate each time it runs. HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters

“MaxRawWorkItems”:dword:512

Specifies how many threads is allowed to run at once, each thread allows one outstanding operation HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters

“MaxThreads”=dword:255

Disable NTFS 8dot3 Name Creation HKLM\SYSTEM\CurrentControlSet\Services\Lanmanworkstation\Parameters

“NTFSDisable8dot3NameCreation”=dword:1

TCP/IP Tuning
Disable Receive-Side Scaling State netsh int tcp set global rss=disabled
Disable TcpAutotuning HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings

“TcpAutotuning”:dword:0

Disable TcpAutotuning HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings

“TcpAutotuning”:dword:0

Disable TcpAutotuning HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

“TcpAutotuning”:dword:0

OneDrive
Prevent OneDrive Access HKLM\SOFTWARE\Policies\Microsoft\Windows\OneDrive

“DisableFileSyncNGSC”:dword:1

Other
Disable Windows Defender Security Centre on Startup HKLM\SYSTEM\CurrentControlSet\Services\SecurityHealthService

“Type”:dword=3

Power Options/Commands

Optimisation Command
Switch Off Hibernate Powercfg -h off
Set PowerPlan to High Performance Try {

$HighPerf = powercfg -l | %{if($_.contains(“High performance”)) {$_.split()[3]}}

$CurrPlan = $(powercfg -getactivescheme).split()[3]

if ($CurrPlan -ne $HighPerf) {powercfg -setactive $HighPerf}

} Catch {

Write-Warning -Message “Unable to set power plan to high performance”

}

Take Owner and Allow Registry Keys to be Change for Quick Access in File Explorer SetACL.exe -on “HKEY_CLASSES_ROOT\CLSID\{679f85cb-0220-4080-b29b-5540cc05aab6}\ShellFolder” -ot reg -actn setowner -ownr “n:Administrators”

SetACL.exe -on

Set Permissions and Allow Registry Keys to be Change for Quick Access in File Explorer SetACL.exe -on “HKEY_CLASSES_ROOT\CLSID\{679f85cb-0220-4080-b29b-5540cc05aab6}\ShellFolder” -ot reg -actn ace -ace “n:Administrators;p:full”

SetACL.exe -on

Take Owner and Allow Registry Keys to be Change for Network Icon Access in File Explorer SetACL.exe -on “HKEY_CLASSES_ROOT\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder” -ot reg -actn setowner -ownr “n:Administrators”

SetACL.exe -on

Take Owner and Allow Registry Keys to be Change for Network Icon Access in File Explorer SetACL.exe -on “HKEY_CLASSES_ROOT\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder” -ot reg -actn ace -ace “n:Administrators;p:full”

SetACL.exe -on

Take Owner and Allow Registry Keys to be Change for Network Icon Access in File Explorer SetACL.exe -on “HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder” -ot reg -actn setowner -ownr “n:Administrators”

SetACL.exe -on

Take Owner and Allow Registry Keys to be Change for Network Icon Access in File Explorer SetACL.exe -on HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder -ot reg -actn ace -ace “n:Administrators;p:full”

 

User Settings:

This should be applied by using Group Policy/Ivanti/WEM and set to Run-Once

Optimisation Registry Setting
Settings “Visual Effects to Custom” [HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]

“VisualFXSetting”=dword:00000003

Disable “Show translucent selection rectangle” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

“ListviewAlphaSelect”=dword:00000000

Disable “Show shadows under windows” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

“ListviewShadow”=dword:00000000

Disable “Animate windows when minimizing and maximizing” [HKEY_CURRENT_USER \ControlPanel\Desktop\WindowMetrics]

“MinAnimate”=”0”

Disable “Animations in the taskbar” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

“TaskbarAnimations”=dword:00000000

Disable “Enable Peek” [HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM]

“EnableAeroPeek”=dword:00000000

Disable “Save Taskbar Thumbnail Previews” [HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM]

“AlwaysHibernateThumbnails”=dword:00000000

Disable “Smooth edges of screen fonts” [HKEY_CURRENT_USER \Control Panel\Desktop]

“FontSmoothing”=”0”

Disable the rest of the visual effects [HKEY_CURRENT_USER \Control Panel\Desktop\]

“UserPreferencesMask”=RegBin: “90,12,03,80,10,00,00,00”

Disable cursor blink rate [HKEY_CURRENT_USER \Control Panel\Desktop]

“CursorBlinkRate”=”-1″

Reduce menu show delay [HKEY_CURRENT_USER\ControlPanel\Desktop]

MenuShowDelay”, “0”

Set File Explorer Open to Action to PC instead of Quick Access Menu [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

“Launchto”:dword:1

Remove Mixed Reality from W10 Setting Page HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Holographic

“FirstRunSucceeded”:dword=1

Remove Non-Admins from Viewing Windows Administrative Tools icacls “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools” /INHERITANCE:d

icacls “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools” /REMOVE “EVERYONE”

icacls “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools” /REMOVE “BUILTIN\USERS”

Remove Command Line from Start Menu\Programs\Windows System %AppData%\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk
Remove Admin Tools from Start Menu\Programs\Windows System %AppData%\Microsoft\Windows\Start Menu\Programs\System Tools\Windows Administrative Tools.lnk
Remove Windows Powershell from Start Menu\Programs\Windows PowerShell %AppData%\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
Remove Windows Powershell from Start Menu\Programs\Windows PowerShell %AppData%\Microsoft\Windows\Start Menu\Programs\Windows Accessories\Windows Server Backup.lnk
Remove OneDrive from Startup %AppData%\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk

20 comments

  1. Where can i download the script?
    Does the start menu work in 1703 with Citrix UPM?
    My start menu wont open and the search functions is missing…

  2. Been able to replicate the issue you mentioned with start menu/search not working.

    If you check \appdata\local\packages you’ll see it has 2 folder (cortana/shell extension) which appear to be constantly being accessed every few seconds. Checking a working profile you’ll see that folder is fully populated.

    Even excluding the folder which is default or adding to mirror folder has no impact.

    Will post an update if i get anywhere although i see citrix has commented saying it will be fixed in next update which is no help

      1. Hi Paul,

        This script was created before the Citrix Optimiser was available. It covers additional settings/configuration over and above citrix optimiser which is based on my vast experience in deploying windows 10 in a citrix environment.

        Careful reviewing of what this script does vs Citrix Optimiser should be considered before deciding which one is best which will be different for each deployment/customer/environment

        Cheers

        David Wilkinson

  3. In the page you wrote:

    Remove Networks from File Explorer Menu HKCR\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder
    “Attributes”=dword:2690646016

    Remove Networks from File Explorer Menu HKCR\Wow6432Node\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder
    “Attributes”=dword:2690646016

    But the correct value should be “2962489444”
    Also in the powershell script there’s the correct value.

    Regards

  4. Thanks for the optimization script. But after I ran the script I cannot install updates. I started the windows update service and BITS. I can download them but there is no option to install. Is this something that could have causes by the script?

  5. I ran the optimization script and now when i attempt to launch file explorer i get the ‘ Windows cannot find “. Make sure you typed…” just wanted to check and see if you have heard of the before i spend the time to figure out the issue and undo it. thanks

    1. Turns out it was not that hard, specifically that explorer was looking for “Quick Access” as soon as i changed it to “This PC” issue resolved. (OS is 2016 with the 7.15.1000 LTSR release VDA).

      The user setting seem like they should be run and captured into the a template profile if i want them to be in place for users other than those which have run the script.

      1. Hi,

        That is documented in the article about recommended user settings to apply and specifically this one to switch from Quick access go My PC

  6. Hi,

    Your script has an error in the Active Setup part. Look at the rule:
    reg delete “HKLM\SOFTWAREWow6432Node\\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}” /v StubPath /f #IE for Admins

    Also, in your blog you state SubPath instead of StubPath.

    Cheers and good work!

  7. Do you have updated script for XenApp script for 2016 standard and Xendesktop 10 Windows 1903 build?

Leave a Reply