Soup Up Your Terminal Server: Optimizing Explorer's Network Performance

by Helge Klein on 11/07/2007 | 8 Comments | 22,333 Views

Update: The ADM file can now be downloaded here.


I recently came across a post in the Windows Server Performance Team's blog that lists several registry values which can be used to tune Explorer's SMB performance by modifying the following:



  • Searches for Desktop.ini files used for folder customization

  • Periodic refreshes of folder contents

  • Searches for supporting library (.dll) files

  • Individual file details and attributes pulled for each file

  • Thumbnail extraction

I found the tips very interesting, but also lacking background and explanation. That is why I looked up the the KB articles explaining the registry values mentioned and created an ADM template for easily setting the values via group policy.To give you a better feeling what we are talking about, here is the list of registry changes recommended by the original poster:


Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer] "UseDesktopIniCache"=dword:00000001 "NoRemoteRecursiveEvents"=dword:00000001 "NoRemoteChangeNotify"=dword:00000001 "StartRunNoHOMEPATH"=dword:00000001 "NoRecentDocsNetHood"=dword:00000001 "NoDetailsThumbnailOnNetwork"=dword:00000001 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters] "InfoCacheLevel"=dword:00000010 [HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\CryptoSignMenu] "SuppressionPolicy"=dword:00100000 [HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\{3EA48300-8CF6-101B-84FB-666CCB9BCD32}] "SuppressionPolicy"=dword:00100000 [HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\{883373C3-BF89-11D1-BE35-080036B11A03}] "SuppressionPolicy"=dword:00100000 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\SCAPI] "Flags"=dword:00100c02 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager] "SafeDllSearchMode"=dword:00000001 "SafeProcessSearchMode"=dword:00000001


Of those settings, several go into the policies registry branch. But only the following is configurable via group policy by default:



  • NoRecentDocsNetHood: User -> Desktop -> Do not add shares of recently opened documents to Network Locations (supported only on: W2k, XP, W2k3)

All other settings are described in various Microsoft KB articles but cannot be set via group policy by default:



And then there are the following machine-specific settings that need to be set outside the policies registry branch as a tattooing policy:



The ADM template file I created allows for setting these values independently and, where applicable, either as part of the user or the computer configuration. It also contains the URLs of the relevant KB articles.


 


;
; Created 2007-11-07 by Helge Klein
;

;
; Machine settings
;
CLASS MACHINE


CATEGORY !!Optimization


CATEGORY !!ExplorerSMB


POLICY !!UseDesktopIniCache
EXPLAIN !!UseDesktopIniCache_Help
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”
VALUENAME “UseDesktopIniCache”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


POLICY !!NoRemoteRecursiveEvents
EXPLAIN !!NoRemoteRecursiveEvents_Help
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”
VALUENAME “NoRemoteRecursiveEvents”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


POLICY !!NoRemoteChangeNotify
EXPLAIN !!NoRemoteChangeNotify_Help
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”
VALUENAME “NoRemoteChangeNotify”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


POLICY !!NoDetailsThumbnailOnNetwork
EXPLAIN !!NoDetailsThumbnailOnNetwork_Help
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”
VALUENAME “NoDetailsThumbnailOnNetwork”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


POLICY !!InfoCacheLevel
EXPLAIN !!InfoCacheLevel_Help
KEYNAME “System\CurrentControlSet\Services\MRXSmb\Parameters”
VALUENAME “InfoCacheLevel”
VALUEON NUMERIC 16
VALUEOFF NUMERIC 1
END POLICY


POLICY !!SuppressionPolicy
EXPLAIN !!SuppressionPolicy_Help
KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\CryptoSignMenu”
ACTIONLISTON
KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\CryptoSignMenu”
VALUENAME “SuppressionPolicy”
VALUE NUMERIC 1048576
KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\{3EA48300-8CF6-101B-84FB-666CCB9BCD32}”
VALUENAME “SuppressionPolicy”
VALUE NUMERIC 1048576
KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\{883373C3-BF89-11D1-BE35-080036B11A03}”
VALUENAME “SuppressionPolicy”
VALUE NUMERIC 1048576
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\SCAPI”
VALUENAME “Flags”
VALUE NUMERIC 1051650
END ACTIONLISTON
ACTIONLISTOFF
KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\CryptoSignMenu”
VALUENAME “SuppressionPolicy”
VALUE DELETE
KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\{3EA48300-8CF6-101B-84FB-666CCB9BCD32}”
VALUENAME “SuppressionPolicy”
VALUE DELETE
KEYNAME “SOFTWARE\Classes\*\shellex\PropertySheetHandlers\{883373C3-BF89-11D1-BE35-080036B11A03}”
VALUENAME “SuppressionPolicy”
VALUE DELETE
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\SCAPI”
VALUENAME “Flags”
VALUE DELETE
END ACTIONLISTOFF
END POLICY


POLICY !!SafeDllSearchMode
EXPLAIN !!SafeDllSearchMode_Help
KEYNAME “System\CurrentControlSet\Control\Session Manager”
VALUENAME “SafeDllSearchMode”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


POLICY !!SafeProcessSearchMode
EXPLAIN !!SafeProcessSearchMode_Help
KEYNAME “System\CurrentControlSet\Control\Session Manager”
VALUENAME “SafeProcessSearchMode”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


END CATEGORY


END CATEGORY


;
; User settings
;
CLASS USER


CATEGORY !!Optimization


CATEGORY !!ExplorerSMB


POLICY !!NoRemoteRecursiveEvents
EXPLAIN !!NoRemoteRecursiveEvents_Help
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”
VALUENAME “NoRemoteRecursiveEvents”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


POLICY !!NoRemoteChangeNotify
EXPLAIN !!NoRemoteChangeNotify_Help
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”
VALUENAME “NoRemoteChangeNotify”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


POLICY !!StartRunNoHOMEPATH
EXPLAIN !!StartRunNoHOMEPATH_Help
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”
VALUENAME “StartRunNoHOMEPATH”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


POLICY !!NoDetailsThumbnailOnNetwork
EXPLAIN !!NoDetailsThumbnailOnNetwork_Help
KEYNAME “SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer”
VALUENAME “NoDetailsThumbnailOnNetwork”
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY


END CATEGORY


END CATEGORY


[strings]


Optimization=”Optimization”
ExplorerSMB=”Explorer Network Performance”


UseDesktopIniCache=”Cache Desktop.ini”
UseDesktopIniCache_Help=”http://support.microsoft.com/kb/840309/EN-US”


NoRemoteRecursiveEvents=”Disable Remote Recursive Events”
NoRemoteRecursiveEvents_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B330929&x=9&y=10″


NoRemoteChangeNotify=”Turn Off Directory Notification SMB Requests”
NoRemoteChangeNotify_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B812669&x=14&y=12″


StartRunNoHOMEPATH=”Do Not Search Home Folder First When a Program is Started From Start -> Run”
StartRunNoHOMEPATH_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B264061&x=18&y=9″


NoDetailsThumbnailOnNetwork=”Do Not Extract Details Thumbnails from Files Over the Network”
NoDetailsThumbnailOnNetwork_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B830903&x=17&y=18″


SuppressionPolicy=”Do Not Obtain Detailed File Information When Opening a File”
SuppressionPolicy_Help=”http://support.microsoft.com/kb/829700/EN-US”


InfoCacheLevel=”Enable Caching of Path Information for all Files”
InfoCacheLevel_Help=”http://support.microsoft.com/kb/834350/EN-US”


SafeDllSearchMode=”Do Not Search for DLLs in Home Folder First (W2k)”
SafeDllSearchMode_Help=”http://support.microsoft.com/kb/306850/EN-US”


SafeProcessSearchMode=”Do Not Search for DLLs in Home Folder First (XP and W2k3)”
SafeProcessSearchMode_Help=”http://support.microsoft.com/?scid=kb%3Ben-us%3B905890&x=13&y=9″

+++ Your opportunity +++ Use Profile Migrator 2, the new sepago product that makes migrating user personalities between different platforms a breeze.! Download your free version now!

8 responses for "Soup Up Your Terminal Server: Optimizing Explorer's Network Performance"

[...] Continue at source to

[...] Continue at source to read about and download this AMD template… [...]

Great work Helge. There are

Great work Helge.

There are two errors in your ADM template.

Between the Explain and ActionListOn keywords you need a Keyname reference, such as the one I've added below:
EXPLAIN !!SuppressionPolicy_Help
KEYNAME "SOFTWARE\Classes\*\shellex\PropertySheetHandlers"
ACTIONLISTON

The 2nd SafeProcessSearchMode reference under the strings section should be SafeProcessSearchMode_Help

Other than that it works a treat:)

Cheers,
Jeremy.

Thanks, Jermemy. You are

Thanks, Jermemy. You are right and I should have tested it better.
I corrected the ADM file in the post.

Helge

Really good and really

Really good and really interesting post. I expect (and other readers maybe :)) new useful posts from you!
Good luck and successes in blogging!

Dig the blog a LOT! Nice

Dig the blog a LOT!
Nice style and I like the way you discuss the problems . I’m going to book mark it.
;)

Hello, I tried to import the

Hello,

I tried to import the adm settings, but InfoCacheLevel and everything below are never visible in my GPO :(

It looks like the registry path is refused (if I copy & paste KEYNAME of UseDesktopIniCache the setting appear).

Have you got any idea ?

Thanks,
N

Nicolas, in GPEdit.msc go to

Nicolas,

in GPEdit.msc go to View -> Filter and uncheck "Only show managed policies".

I hope this helps.

Great thanks ;) Any idea of

Great thanks ;)

Any idea of other settings for Vista ?

It's amazing all the stuff exchanged between Vista and a domain server.

I have remote users connected via VPN, and the performances fall down due to validation of everything with the 2003 SP2 domain server. (even after sending the .REG mentionned on this page)

Regards,
N