Group Policy Caching in Windows 8.1 and Windows 2012 R2

Mit Windows 8.1 und Windows 2012 R2 hat Microsoft sowohl alte Funktionalitäten in den Gruppenrichtlinien aktualisiert und auch eine komplett neue Zusatzfunktion eingeführt: Group Policy Caching. Unter [1] finden Sie eine aktuelle Übersicht der Neuheiten. Obwohl Windows 8 schon extrem schnell startet, gibt es nun die Möglichkeit durch das Group Policy Caching den Startvorgang nochmals zu beschleunigen. Um zu verstehen, wie viel Zeit dieses Feature uns einsparen kann, sollte man folgendes in Betracht ziehen: Jede Gruppenrichtlinie, welche vom Domain Controller bezogen werden muss, benötigt fünf LDAP Anfragen. Diese müssen natürlich hintereinander passieren. Wenn man nun eine GPO über einen 200ms Latenz WAN link herunterladen möchte, würde dies ca. eine Sekunde dauern. Wenn man nun davon ausgeht, dass in einer Organisation 300 GPO’s geladen werden müssen, würde dies 300 Sekunden und somit 5 Minuten(!) dauern, um sich einzuloggen.

Das Ziel von Group Policy Caching ist die Geschwindigkeit der Abwicklung von Gruppenrichtlinien zu erhöhen. Dadurch wird die Zeit, welche für die Abwicklung der Gruppenrichtlinien benötigt wird, stark reduziert. Jedoch funktioniert dies nur, wenn ein synchroner Vordergrundabwicklungszyklus (synchronous foreground processing cycle) erfasst wird.

„Foreground processing“ tritt auf, wenn der Computer hochfährt oder sich ein Benutzer einloggt. Dieser Prozess ist insbesondere wichtig für den Bereich von Gruppenrichtlinien, welche z.B. Pfade von speziellen Ordnern beeinflussen oder bei Softwareinstallation eintreten. Derartige Operationen können nur im „foreground processing cycle“ ausgeführt werden, da sie spezielle Zugriffe für den betroffenen Computer oder die Umgebung des Benutzers benötigen, um die Operationen korrekt ausführen zu können. Ohne spezielle Zugriffsrechte für Computer und Benutzerumgebung ist es schwer zu ermitteln, in welchem Zustand der Benutzer den Computer erhalten hat. Zum Beispiel möchte man während der Installation der Software nicht versuchen, diese auszuführen.

Wenn es zu Änderungen in einer der CSEs(Client Side Extensions), wie z.B. Pfadänderungen, kommt, entsteht ein „synchronous foreground processing cycle“, wodurch der Computer die Synchronisation mit dem Domain Controller startet. Das Synchronisieren kann auch bei keiner Änderung forciert werden. Diese Funktion kann unter “Computer ConfigurationPoliciesAdministrative TemplatesSystemLogonAlways wait for the network at computer startup and user logon” aktiviert werden.

Beim Group Policy Caching jedoch kommt es zu keinem Datenaustausch zwischen Client und Domain Controller. Jedes Mal, wenn Gruppenrichtlinien im Hintergrund ausgeführt werden, während Windows in Betrieb ist („Background processing“), werden die Einstellungen lokal auf dem Client unter dem Pfad „C:WindowsSystem32GroupPolicyDatastore“ gespeichert. Wenn ein "synchronous foreground processing cycle" entsteht, wie z.B. beim Start des Computers oder beim Einloggen eines Benutzers, lädt der Client die Gruppenrichtlinien nicht wie vorgesehen vom Domain Controller sondern aus dem lokal angelegtem Ordner, wenn Group Policy Caching aktiv ist. Somit hat man auch deutlich kürzere Ladezeiten und eine schnellere Abwicklung der Einstellungen.

Wem das neue Feature nicht gefällt und es deaktivieren möchte, findet die Einstellung hier: "Computer ConfigurationPoliciesAdministrative TemplatesSystemGroup PolicyConfigure Group Policy Caching"

[1] http://technet.microsoft.com/en-us/library/dn265973.aspx