Gruppenrichtlinienobjekte bereinigen: hartnäckige Einstellungen entfernen
Zitat von mpachmann am 8. Mai 2025, 10:08 Uhrhttps://www.windowspro.de/benjamin-buerk/gruppenrichtlinienobjekte-bereinigen-hartnaeckige-einstellungen-entfernen
Die meisten Gruppenrichtlinienobjekte (GPOs) fassen mehrere Einstellungen zu einem Windows-Feature oder einer Anwendung zusammen. Möchte man eine bestimmte Einstellung wieder daraus entfernen, dann funktioniert das oft nicht rückstandslos. In diesem Fall ist manuelle Nacharbeit nötig.
Bei GPOs empfiehlt es sich, diese so zu organisieren, dass die Übersichtlichkeit gewahrt bleibt. Denn es kommen nicht nur regelmäßig neue administrative Vorlagen hinzu, sondern mit der Zeit verwalten GPOs auch unterschiedliche Windows- und Office-Versionen nebeneinander. Dadurch steigt ihre Anzahl auch die Komplexität.
GPOs verschlanken
Zum Management von Gruppenrichtlinien gehört aber nicht nur, dass man ständig neue Einstellungen hinzunimmt, sondern auch solche entfernt, die nicht mehr benötigt werden. Ärgerlich ist dann jedoch, wenn man Teile aus einer umfangreichen Gruppenrichtlinie herausnimmt, diese aber nicht gelöscht werden.
Dann kann es sein, dass Dateien zurückbleiben und diese je nach Setup weiterhin repliziert werden. Zudem bleiben die Referenzen für die Client Side Extension (CSE) bestehen, so dass sich die Abarbeitungszeit trotz verschlankter GPOs nicht reduziert.
Eine solche Pflege der GPOs erzielt daher weder eine Verbesserung der Übersichtlichkeit, des Replizierungsaufwands noch der Verarbeitungszeit.
GPOs vor dem Bearbeiten sichern
Daher kann es sinnvoll sein, GPO-Bestandteile durch manuelles Eingreifen zu entfernen. Dabei sollte man jedoch überlegt vorgehen, weil eine falsche Änderung weitreichende Folgen haben kann. In jedem Fall ist ein vorheriges Backup der GPOs und des Systemstatus ratsam. Am besten evaluiert man die Änderungen vorher in einer Testumgebung.
In diesem Artikel beschäftigen wir uns mit dem Fall, dass Ordnerumleitungen nicht mehr benötigt werden und die Einstellungen gelöscht werden sollen. Zuständig ist dafür das GPO U_TST_Profilmgmt, welches Laufwerkszuordnungen und Ordnerumleitungen umfasst.
GPO GPO U_TST_Profilmgmt mit der Einstellung für die Ordnerumleitung, die entfernt werden soll
Die Einstellungen für die Ordnerumleitung finden sich in der versteckten Datei fdeploy1.ini unter dem Sysvol-Verzeichnis des Domänen-Controllers.
Die GPO-Einstellung für die Ordnerumleitung ist auf dem Sysvol in der Datei fdeploy1.ini enthalten.
Nun deaktiviere ich im GPO-Editor die Ordnerumleitung(en).
Ordnerumleitung im GPO-Editor deaktivieren
Im GPO sind die Einträge aber weiterhin sichtbar, was irreführend und bei komplexeren GPOs ärgerlich ist. Zudem bleiben auch die Dateien fdeploy.ini und fdeploy1.ini bestehen.
Nach dem Deaktivieren der Ordnerumleitung bleibt die Einstellung im GPO bestehen.
Für die spätere Verwendung brauchen wir die Unique ID der Gruppenrichtlinie. Diese entnimmt man der Registerkarte Details in der Gruppenrichtlinienverwaltung. In unserem Beispiel lautet sie {686F35FD-B3A8-4CD6-A20D-85FBF5FF1E09}
GUID des GPOs aus den Details in der Gruppenrichtlinienverwaltung entnehmen
Anschließend macht man das entsprechende GPO anhand seines UID im Sysvol ausfindig und löscht unter dem Ordner User das Unterverzeichnis Documents & Settings.
Zum GPO gehörende Dateien im Zweig 'User' auf dem Sysvol löschen
Nun erscheint in der GPO U_TST_Profilmgmt eine Fehlermeldung, weil sie auf Dateien verweist, die nicht mehr existieren.
Nach dem Löschen der Dateien meldet die Gruppenrichtlinienverwaltung einen Fehler.
Um dieses Problem zu beheben, öffne ich im nächsten Schritt die Active Directory-Benutzer und -Computer. Dort muss man sicherstellen, dass Erweiterte Funktionen im Menü Ansicht aktiv ist.
Vor dem Editieren des GPO-Attributs in Active Directory Users and Computers muss man die erweiterten Optionen einschalten.
In der Struktur navigiert man zum entsprechenden GPO, dieses ist unter <Domäne> => System => Policies => UID {686F35FD-B3A8-4CD6-A20D-85FBF5FF1E09} zu finden.
Passenden GPO-Eintrag im AD auswählen und das Attribut 'gPCUserExtensionNames' editieren
Nun wählt man im Kontextmenu des GPO den Befehl Eigenschaften aus. Im folgenden Dialog wechselt man zum Reiter Attribute Editor und bearbeitet das Attribut gPCUserExtensionNames.
Nun lösche ich nur jenen Teil, welcher sich auf die Ordnerumleitung bezieht, und zwar inklusive der eckigen Klammern (am besten kopiert man dazu den Wert des Attributs in einen externen Editor). Die GUID lautet in diesem Fall {25537BA6-77A8-11D2-9B6C-0000F8080861} der ganze Ausdruck sieht so aus:
[{25537BA6-77A8-11D2-9B6C-0000F8080861}{88E729D6-BDC1-11D1-BD2A-00C04FB9603F}]
Die CSE-GUIDs, die man für diesen Zweck benötigt, kann man mit diesem PowerShell-Befehl aus der Registry auslesen:
gci "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions" |
Out-GridViewCSE-GUIDs aus der Registry auslesen mit PowerShell
Alternativ findet sich eine schön aufbereitete Liste auf der Website von Martin Binder.
Bitte beachten Sie, dass der restliche Teil und die Klammern verbleiben, in meinem Beispiel wäre das:
[{00000000-0000-0000-0000-000000000000}{2EA1A81B-48E5-45E9-8BB7-A6E3AC170006}][{5794DAFD-BE60-433F-88A2-1A31939AC01F}{2EA1A81B-48E5-45E9-8BB7-A6E3AC170006}]
Nach dem Verlassen des Editors bestätigt man die Warnung und speichert die Änderung.
Nach dem Bereinigen des GPO ist die deaktivierte Einstellung verschwunden.
Nun ist dieser Teil des GPO nicht mehr sichtbar, der Fehler verschwunden und die nicht benötigten Dateien gelöscht. Nach dem Prinzip können auch andere GPOs bereinigt werden.
Die meisten Gruppenrichtlinienobjekte (GPOs) fassen mehrere Einstellungen zu einem Windows-Feature oder einer Anwendung zusammen. Möchte man eine bestimmte Einstellung wieder daraus entfernen, dann funktioniert das oft nicht rückstandslos. In diesem Fall ist manuelle Nacharbeit nötig.
Bei GPOs empfiehlt es sich, diese so zu organisieren, dass die Übersichtlichkeit gewahrt bleibt. Denn es kommen nicht nur regelmäßig neue administrative Vorlagen hinzu, sondern mit der Zeit verwalten GPOs auch unterschiedliche Windows- und Office-Versionen nebeneinander. Dadurch steigt ihre Anzahl auch die Komplexität.
GPOs verschlanken
Zum Management von Gruppenrichtlinien gehört aber nicht nur, dass man ständig neue Einstellungen hinzunimmt, sondern auch solche entfernt, die nicht mehr benötigt werden. Ärgerlich ist dann jedoch, wenn man Teile aus einer umfangreichen Gruppenrichtlinie herausnimmt, diese aber nicht gelöscht werden.
Dann kann es sein, dass Dateien zurückbleiben und diese je nach Setup weiterhin repliziert werden. Zudem bleiben die Referenzen für die Client Side Extension (CSE) bestehen, so dass sich die Abarbeitungszeit trotz verschlankter GPOs nicht reduziert.
Eine solche Pflege der GPOs erzielt daher weder eine Verbesserung der Übersichtlichkeit, des Replizierungsaufwands noch der Verarbeitungszeit.
GPOs vor dem Bearbeiten sichern
Daher kann es sinnvoll sein, GPO-Bestandteile durch manuelles Eingreifen zu entfernen. Dabei sollte man jedoch überlegt vorgehen, weil eine falsche Änderung weitreichende Folgen haben kann. In jedem Fall ist ein vorheriges Backup der GPOs und des Systemstatus ratsam. Am besten evaluiert man die Änderungen vorher in einer Testumgebung.
In diesem Artikel beschäftigen wir uns mit dem Fall, dass Ordnerumleitungen nicht mehr benötigt werden und die Einstellungen gelöscht werden sollen. Zuständig ist dafür das GPO U_TST_Profilmgmt, welches Laufwerkszuordnungen und Ordnerumleitungen umfasst.
GPO GPO U_TST_Profilmgmt mit der Einstellung für die Ordnerumleitung, die entfernt werden soll
Die Einstellungen für die Ordnerumleitung finden sich in der versteckten Datei fdeploy1.ini unter dem Sysvol-Verzeichnis des Domänen-Controllers.
Die GPO-Einstellung für die Ordnerumleitung ist auf dem Sysvol in der Datei fdeploy1.ini enthalten.
Nun deaktiviere ich im GPO-Editor die Ordnerumleitung(en).
Ordnerumleitung im GPO-Editor deaktivieren
Im GPO sind die Einträge aber weiterhin sichtbar, was irreführend und bei komplexeren GPOs ärgerlich ist. Zudem bleiben auch die Dateien fdeploy.ini und fdeploy1.ini bestehen.
Nach dem Deaktivieren der Ordnerumleitung bleibt die Einstellung im GPO bestehen.
Für die spätere Verwendung brauchen wir die Unique ID der Gruppenrichtlinie. Diese entnimmt man der Registerkarte Details in der Gruppenrichtlinienverwaltung. In unserem Beispiel lautet sie {686F35FD-B3A8-4CD6-A20D-85FBF5FF1E09}
GUID des GPOs aus den Details in der Gruppenrichtlinienverwaltung entnehmen
Anschließend macht man das entsprechende GPO anhand seines UID im Sysvol ausfindig und löscht unter dem Ordner User das Unterverzeichnis Documents & Settings.
Zum GPO gehörende Dateien im Zweig 'User' auf dem Sysvol löschen
Nun erscheint in der GPO U_TST_Profilmgmt eine Fehlermeldung, weil sie auf Dateien verweist, die nicht mehr existieren.
Nach dem Löschen der Dateien meldet die Gruppenrichtlinienverwaltung einen Fehler.
Um dieses Problem zu beheben, öffne ich im nächsten Schritt die Active Directory-Benutzer und -Computer. Dort muss man sicherstellen, dass Erweiterte Funktionen im Menü Ansicht aktiv ist.
Vor dem Editieren des GPO-Attributs in Active Directory Users and Computers muss man die erweiterten Optionen einschalten.
In der Struktur navigiert man zum entsprechenden GPO, dieses ist unter <Domäne> => System => Policies => UID {686F35FD-B3A8-4CD6-A20D-85FBF5FF1E09} zu finden.
Passenden GPO-Eintrag im AD auswählen und das Attribut 'gPCUserExtensionNames' editieren
Nun wählt man im Kontextmenu des GPO den Befehl Eigenschaften aus. Im folgenden Dialog wechselt man zum Reiter Attribute Editor und bearbeitet das Attribut gPCUserExtensionNames.
Nun lösche ich nur jenen Teil, welcher sich auf die Ordnerumleitung bezieht, und zwar inklusive der eckigen Klammern (am besten kopiert man dazu den Wert des Attributs in einen externen Editor). Die GUID lautet in diesem Fall {25537BA6-77A8-11D2-9B6C-0000F8080861} der ganze Ausdruck sieht so aus:
[{25537BA6-77A8-11D2-9B6C-0000F8080861}{88E729D6-BDC1-11D1-BD2A-00C04FB9603F}]
Die CSE-GUIDs, die man für diesen Zweck benötigt, kann man mit diesem PowerShell-Befehl aus der Registry auslesen:
gci "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions" |
Out-GridView
CSE-GUIDs aus der Registry auslesen mit PowerShell
Alternativ findet sich eine schön aufbereitete Liste auf der Website von Martin Binder.
Bitte beachten Sie, dass der restliche Teil und die Klammern verbleiben, in meinem Beispiel wäre das:
[{00000000-0000-0000-0000-000000000000}{2EA1A81B-48E5-45E9-8BB7-A6E3AC170006}][{5794DAFD-BE60-433F-88A2-1A31939AC01F}{2EA1A81B-48E5-45E9-8BB7-A6E3AC170006}]
Nach dem Verlassen des Editors bestätigt man die Warnung und speichert die Änderung.
Nach dem Bereinigen des GPO ist die deaktivierte Einstellung verschwunden.
Nun ist dieser Teil des GPO nicht mehr sichtbar, der Fehler verschwunden und die nicht benötigten Dateien gelöscht. Nach dem Prinzip können auch andere GPOs bereinigt werden.