Monday, June 23, 2008 8:34 AM
Kurt Roggen
Understanding Group Policy (and Preferences) Refresh cycles - Part 2
In part 1, we’ve talked about the Group Policy engine refresh cycle, but let’s dive a little bit deeper.
Both Group Policy Client Side Extension (CSE) and Group Policy Preferences (GPP) Client Side Extensions (CSE) refresh according to this refresh cycle.
When starting the refresh cycle (manual or automatically), all CSE are called in alphabetical order based on their GUID. However, the very first CSE that is called is always the registry-CSE. Then the application goes on in alphabetical order. Each extension defines it's own processing behavior.
Below, you can find a sorted list (following the order of application) of all Group Policy CSE (Client Side Extensions) taken from the site of Mark Heitbrink - MVP Group Policy.
All extensions can be found under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions.
| Order | Client Side Extension (CSE) Name | File | GP GUID | Background Refresh |
| 1 | Registry | userenv.dll | {35378EAC-683F-11D2-A89A-00C04FBBCFA2} | Yes |
| 2 | Wireless Group Policy | gptext.dll | {0ACDD40C-75AC-47ab-BAA0-BF6DE7E7FE63} | Yes |
| 3 | Group Policy Environment | gpprefcl.dll | {0E28E245-9368-4853-AD84-6DA3BA35BB75} | Yes |
| 4 | Group Policy Local Users and Groups | gpprefcl.dll | {17D89FEC-5C44-4972-B12D-241CAEF74509} | Yes |
| 5 | Group Policy Device Settings | gpprefcl.dll | {1A6364EB-776B-4120-ADE1-B63A406A76B5} | Yes |
| 6 | Folder Redirection | fdeploy.dll | {25537BA6-77A8-11D2-9B6C-0000F8080861} | Yes |
| 7 | Microsoft Disk Quota | dskquota.dll | {3610eda5-77ef-11d2-8dc5-00c04fa31a66} | No |
| 8 | Group Policy Network Options | gpprefcl.dll | {3A0DBA37-F8B2-4356-83DE-3E90BD5C261F} | Yes |
| 9 | QoS Packet Scheduler | gptext.dll | {426031c0-0b47-4852-b0ca-ac3d37bfcb39} | Yes |
| 10 | Scripts | gptext.dll | {42B5FAAE-6536-11d2-AE5A-0000F87571E3} | Yes |
| 11 | Process Group Policy For Zone Map / Internet Explorer | iedkcs32.dll | {4CFB60C1-FAA6-47f1-89AA-0B18730C9FD3} | Yes |
| 12 | Group Policy Drive Maps | gpprefcl.dll | {5794DAFD-BE60-433f-88A2-1A31939AC01F} | No |
| 13 | Group Policy Folders | gpprefcl.dll | {6232C319-91AC-4931-9385-E70C2B099F0E} | Yes |
| 14 | Group Policy Network Shares | gpprefcl.dll | {6A4C88C6-C502-4f74-8F60-2CB23EDC24E2} | Yes |
| 15 | Group Policy Files | gpprefcl.dll | {7150F9BF-48AD-4da4-A49C-29EF4A8369BA} | Yes |
| 16 | Group Policy Data Sources | gpprefcl.dll | {728EE579-943C-4519-9EF7-AB56765798ED} | Yes |
| 17 | Group Policy Ini Files / INI | gpprefcl.dll | {74EE6C03-5363-4554-B161-627540339CAB} | Yes |
| 18 | Windows Search Group Policy / WDS | srchadmin.dll | {7933F41E-56F8-41d6-A31C-4148A711EE93} | Yes |
| 19 | Security | scecli.dll | {827D319E-6EAC-11D2-A4EA-00C04F79F83A} | Yes |
| 20 | Deployed Printer Connections | gpprnext.dll | {8A28E2C5-8D06-49A4-A08C-632DAA493E17} | Yes |
| 21 | Group Policy Services | gpprefcl.dll | {91FBB303-0CD5-4055-BF42-E512A681B325} | Yes |
| 22 | Internet Explorer Branding / Internet Explorer | iedkcs32.dll | {A2E30F80-D7DE-11d2-BBDE-00C04F86AE3B} | Yes |
| 23 | Group Policy Folder Options | gpprefcl.dll | {A3F3E39B-5D83-4940-B954-28315B82F0A8} | Yes |
| 24 | Group Policy Scheduled Tasks | gpprefcl.dll | {AADCED64-746C-4633-A97C-D61349046527} | Yes |
| 25 | Group Policy Registry / Registry | gpprefcl.dll | {B087BE9D-ED37-454f-AF9C-04291E351182} | Yes |
| 26 | EFS recovery | scecli.dll | {B1BE8D72-6EAC-11D2-A4EA-00C04F79F83A} | Yes |
| 27 | 802.3 Group Policy | dot3gpclnt.dll | {B587E2B1-4D59-4e7e-AED9-22B9DF11D053} | Yes |
| 28 | Group Policy Printers | gpprefcl.dll | {BC75B1ED-5833-4858-9BB8-CBF0B166DF9D} | Yes |
| 29 | Group Policy Shortcuts | gpprefcl.dll | {C418DD9D-0D14-4efb-8FBF-CFE535C8FAC7} | Yes |
| 30 | Microsoft Offline Files | cscobj.dll | {C631DF4C-088F-4156-B058-4375F0853CD8} | Yes |
| 31 | Software Installation | appmgmts.dll | {c6dc5466-785a-11d2-84d0-00c04fb169f7} | Yes |
| 32 | IP Security | polstore.dll | {e437bc1c-aa7d-11d2-a382-00c04f991e27} | Yes |
| 33 | Group Policy Internet Settings / Internet | gpprefcl.dll | {E47248BA-94CC-49c4-BBB5-9EB7F05183D0} | Yes |
| 34 | Group Policy Start Menu Settings | gpprefcl.dll | {E4F48E54-F38D-4884-BFB9-D4D2E5729C18} | Yes |
| 35 | Group Policy Regional Options | gpprefcl.dll | {E5094040-C46C-4115-B030-04FB2E545B00} | Yes |
| 36 | Group Policy Power Options | gpprefcl.dll | {E62688F0-25FD-4c90-BFF5-F508B9D2E31F} | Yes |
| 37 | Group Policy Applications | gpprefcl.dll | {F9C77450-3A41-477E-9310-9ACD617BD9E3} | Yes |
| 38 | Enterprise QoS | gptext.dll | {FB2CA36D-0B40-4307-821B-A13B252DE56C} | Yes |
By default, some extensions will refresh in both foreground and background, some don’t. How can you tell??
Under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions each of the Client Side Extensions has a sub-key.
For example, {5794dafd-be60-433f-88a2-1a31939ac01f} - the CSE for Group Policy Drive Maps – has a key called NoBackgoundPolicy with a value set to 1. This mean the extension will not process in the backgound and thus policy changes only take effect until the next system restart or user logon (read: foreground).
All extensions with the NoBackgoundPolicy value set to 0 will process in backgound and foreground. If the value does not exist, it will also process in both foreground and background.
For the “GP Preference Files” (GUID {7150F9BF-48AD-4da4-A49C-29EF4A8369BA}), the key NoBackgroupPolicy is not there. This means it will process in the foreground and in the background.
Similar logic is used for other registry keys like NoSlowLink (read: do not allow processing acros slow network connection) and NoGPOListChanges (read: Process even if the Group Policy Objects have not changed).
CONCLUSION
Understanding the Group Policy refresh cycle is important if you are looking at optimizing the background refresh interval to modify the time it takes machines/users to re-evaluate whether new GPO settings have been made. The default refresh interval is different for domain controllers, non-domain controllers and user accounts. The refresh interval can be set anywhere from 7 seconds to 45 days. A longer interval reduces
how often a computer or user refreshes new GPO settings. 45 days is a extreme long time to wait between GPO updates/refreshes. However, if you configure the refresh interval too low, network traffic will increase and the user’s work can be affected.
The Group Policy refresh cycle takes place in both foreground (startup/logon) and background. Per Group Policy Client Side Extension (GP CSE), you can optimize this behavior if background refreshes are not required.
Both Group Policies as Group Policies Preferences - which are simply GP CSE - follow the same specified refresh intervals.
Filed under: GroupPolicies