Q: What is Group Policy caching in Windows 8.1 and Windows Server 2012 R2?

A: There are different types of Group Policy processing. For example, asynchronous processing runs in the background and doesn't affect operations such as logons; synchronous processing runs in the foreground and does affect the time it takes to log on. Typically, asynchronous background processing is used to update Group Policy without impact. However, sometimes foreground synchronous processing is used, such as at computer startup and user logon when certain conditions are true (e.g., software installation is required or folder redirection settings have changed). Synchronous processing is also used if the Always wait for the network at computer startup and logon setting is enabled, as the Microsoft Support article "Description of the Windows Fast Logon Optimization feature" explains.

The Group Policy caching feature applies only the synchronous foreground Group Policy processing. It works by using a local cache of Group Policy Objects rather than pulling them over the network. This process speeds up Group Policy processing and therefore also speeds up actions such as logons. Note that domain controller connectivity is still required, or the policy won't be applied.

The actual cache of Group Policy Objects is stored in the user profile, at C:\Users\<user>\AppData\Local\GroupPolicy\DataStore\0\SysVol\<domain name>\Policies. The cache has a folder named the GUID of each cached Group Policy Object, as the following figure shows.

This cache is updated from a domain controller every time Group Policy is processed asynchronously in the background. Note that during foreground synchronous processing, if the Group Policy is updated on the domain controller then the updated Group Policy isn't used and the local cache is used.