HowTo: Gruppenrichtlinien selbst erstellen (ADMX)

Gruppenrichtlinien erleichtern einem Admin das Leben und lassen sich mit wenig Aufwand selbst erstellen. Der Vorteil liegt auf der Hand, mittels Gruppenrichtlinien lassen sich Registry Einstellungen einfach auf viele Rechner verteilen. Im folgenden Artikel gibt es ein kleines HowTo, wie Gruppenrichtlinien mit dem kostenlosen „Old-School“-Tool „ADMX-Migrator“ selbst erstellt werden können.

Vorwort

Auch für Exchange Server und Domain Controller habe ich ein paar eigene Gruppenrichtlinien erstellt, da auch hier ein paar Einstellungen über die Registry vorgenommen werden. Hier ein paar Beispiele für Einstellungen in der Registry, die sich wunderbar per GPO konfigurieren lassen:

 

Der Vorteil einer Gruppenrichtlinie für solche Einstellungen? Sobald eine entsprechende Vorlage für die Einstellungen in der Registry erstellt wurde, lässt sich eine Gruppenrichtlinie in unterschiedlichen Umgebungen auf mehreren Servern anwenden. Neue Domain Controller oder neue Exchange Server erhalten automatisch die gleichen Einstellungen wie die vorhandenen.

Die klassischen ADM Templates aus Windows Server 2003 Zeiten (und früher) konnte man mit wenig Aufwand erstellen. Hier ein kleines Beispiel:

image

ADM war da noch ziemlich selbsterklärend. Mit dem aktuellen Format (ADMX) wird auf eine XML Struktur gesetzt. ADMX Templates sind um einiges flexibler, aber auch etwas komplizierter, wenn man sie mit einem einfachen Editor erstellen will. Hier ein Beispiel für ein ADMX Template mit einer Sprache:

image

image

Zugegeben, das Beispiel für die ADMX Vorlage kommt aus einer GUI, und ist keine manuell erstellte Vorlage, trotzdem sieht man auf den ersten Blick, dass die XML Struktur aufwändiger manuell zu Erstellen ist.

Abhilfe schafft ein kleines Tool, welches kostenlos runtergeladen werden kann:

 

ADMX Migrator ist ein altes Tool, welches nicht mehr weiter entwickelt wird. Ich nutze es aber trotzdem gerne, einfach aus Gewohnheit:

image

Falls jemand einen guten Tipp für ein aktuelles Tool hat, freue ich mich über Hinweise in den Kommentaren.

Installation

Die Installation von ADMX-Migrator ist selbsterklärend und ist in ein paar Klicks erledigt, daher nur der Vollständigkeit halber ein paar Screenshots:

image

Benutzerinformationen eingeben:

image

Speicherort auswählen:

image

Die Option „Register after Insallation is complete“ kann abgewählt werden, die entsprechende Internetseite gibt es nicht mehr:

image

Installation abgeschlossen.

image

Eigene Gruppenrichtlinien (ADMX Templates) erstellen

Um eine Gruppenrichtlinie für ein bestimmtes Programm zu erstellen, muss zuerst rausgefunden werden, wo das Programm seine Einstellungen in der Registry speichert, welche Einstellungen gültig sind und was sie bewirken. Dazu muss das Programm auf einem Testrechner installiert werden und entsprechende Einstellungen in der Registry gesucht werden. Dieser Teil dauert üblicherweise am längsten, da hier häufig „Trial and Error“ angesagt ist. Damit man schnell wieder auf die Standard Einstellungen zurückgreifen kann, ist es hilfreich die entsprechenden Schlüssel zu exportieren. So lässt sich der Standard schnell wiederherstellen.

Als Beispiel habe ich mal ein fiktives Programm genommen, welches Einstellungen unter HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE ablegt:

image

image

Sobald rausgefunden wurde welche Einstellungen relevant sind, kann mittels ADMX Migrator eine Gruppenrichtlinie erzeugt werden:

image

Dem neuen Template wird nun ein Name gegeben:

image

Jetzt kann die erste Kategorie angegeben werden, die erste Kategorie unterhalb des Namens, erstellt einen „Ordner“ unter „Administrative Vorlagen“. Auch der Name der Kategorie kann frei gewählt werden, ich nehme in diesem Fall „FW Programm“, damit erkenntlich ist, um welche Einstellungen es sich handelt:

image

Unterhalb der ersten Kategorie können weitere Kategorien angelegt werden. Ich erstelle eine Kategorie für Benutzer und Computer Einstellungen:

image

image

Im Gruppenrichtlinien Editor werden die Kategorien später so dargestellt werden:

image

Die grobe Struktur steht also schon einmal, jetzt kommen die Einstellungen dran. In diesem Fall möchte in den Wert für „UseWindowsDefault“ steuern, also wird auch hier der Schlüsselname und der Name des entsprechendes Werts kopiert:

image

Die Angaben werden nun für die erste „Policy Setting“ benötigt. Da es sich um eine Einstellung unter HKEY_CURRENT_USER handelt, kommt sie in die Kategorie „Benutzer“. In der Policy Setting werden nun die entsprechenden Werte eingesetzt:

Registry Key: Schlüsselname

Registry Value Name: UseWindowsDefault

Class: User (da HKEY_CURRENT_USER)

image

Unter der Einstellung Values, werden jetzt die Werte definiert:

Enabled Value = Aktiviert = 1

Disabled Value = Deaktiviert = 0

image

Unter Explain, kann jetzt noch eine aussagekräftige Beschreibung zu der Einstellung hinzugefügt werden:

image

Im Gruppenrichtlinien Editor sieht es nun so aus:

image

Mit ADMX-Migrator lassen sich nicht nur DWORDs schalten, sondern auch Textfelder oder DropDown Listen erstellen. Im Prinzip wird hier ganz ähnlich vorgegangen wie bei DWORDS. In nächsten Beispiel gibt es zwei REG_SZ Werte:

image

Da such diese unter HKEY_CURRENT_USER liegen, kommen die Policy Settings auch wieder unter die Kategorie Benutzer:

image

Es werden ebenfalls wieder Enabled und Disabled Werte angegeben:

image

Unter Presentation kann jetzt eine Dropdownlist erzeugt werden:

image

Zur Dropdownlist werden wieder entsprechende Schlüsselnamen und Schlüsselwerte angegeben, unter dem Punkt ItemList können dann die Einstellungen für die DropDownliste hinzugefügt werden:

image

In der Itemlist werden nun alle Werte der Dropdownliste und die entsprechenden Werte eingetragen:

image

Unter Explain wird wieder eine Beschreibung angegeben:

image

Hier das Ergebnis im Gruppenrichtlinien Editor:

image

Sobald die Gruppenrichtlinie fertig konfiguriert ist, wird sie gespeichert:

image

Im Speicherpfad befinden sich nun die ADMX-Datei (enthält die Einstellungen) und ein Ordner mit der jeweiligen Sprachdatei:

 

image

Um die eigene Gruppenrichtlinie zu nutzen, müssen die ADMX-Datei sowie der Ordner auf einem Domain Controller in das Verzeichnis c:\Windows\PolicyDefinitions kopiert werden:

image

Umwandeln von ADM zu ADMX Templates

ADMX-Migrator kann auch alte ADM Templates zu ADMX Templates umwandeln, dazu kann über den Punkt „Generate ADMX from ADM“ ein ADM Template geladen werden:

Gruppenrichtlinien

ADMX Migrator wandelt dann die alte ADM Struktur in die ADMX XML Struktur um:

image

Nach der Umwandlung zum ADMX Format, können Optionen angepasst oder verändert werden:

image

Sobald die Bearbeitung abgeschlossen ist, kann das ADMX Template gespeichert werden:

image

ADMX-Migrator erzeugt beim Speichern die Struktur, die auch vom Windows Central Store vorausgesetzt wird:

image

Auf diese Weise lassen sich recht einfach, alte ADM Templates zu ADMX Templates konvertieren.

Hinweis: Mit Umlauten in den ADM-Templates kommt ADMX-Migrator nicht zurecht, am einfachsten ist es also vor der Konvertierung die Umlaute in den ADM Templates mittels „Suchen/Ersetzen“ loszuwerden.

Beispiel ADMX Files

Wie bereits eingangs erwähnt ist ADMX-Migrator ein ziemlich altes Tool und hat einige Schwächen, mittlerweile stürzt es auch mal ganz gerne ab.

Eine Gruppenrichtlinie bestellt allerdings nur aus der ADMX-Datei welche die Einstellungen (Kategorien, Policy Settings) enthält und einer Sprachdatei (ADML), in der Sprachdatei lassen sich entsprechende Übersetzungen definieren. Beide Dateien liegen im XML-Format vor und lassen sich auch mit einem Editor selbst erzeugen.

Microsoft bietet eine Gruppenrichtlinie als Beispiel an, in der die Möglichkeiten verdeutlich werden. Mit ein bisschen Copy/Paste und etwas „Try and Error“, lässt sich die Struktur schnell erlernen.

Hier können die Beispiel Dateien runtergeladen werden:

Group Policy Sample ADMX Files

Eine Testumgebung mit einem Domain Controller und einen Member ist schnell installiert, daher lässt sich mit der Beispielrichtlinie super üben.

Nachteil

Eigene Gruppenrichtlinien „tätowieren“ die Registry. Soll heißen, die Registry Werte die mittels eigener Gruppenrichtlinie geändert oder erzeugt wurden, bleiben in der Registry des Computers vorhanden der die Richtlinie angewendet hat. Wenn eine Gruppenrichtlinie gelöscht wird, bleiben die Einstellungen also bestehen. Der Einsatz von eigenen Gruppenrichtlinien ist also mit Vorsicht zu genießen.

Immer daran denken: Löschen einer eigenen Gruppenrichtlinie setzt keine Einstellungen auf Standardwerte zurück, erst das definieren der Standardwerte in der GPO setzt entsprechende Werte. Wenn man denn noch die Standardwerte kennt. Eigene Gruppenrichtlinien sollten also gut dokumentiert werden und die Standardwerte der Registry in einer .REG Datei exportiert werden.

3 Kommentare zu “HowTo: Gruppenrichtlinien selbst erstellen (ADMX)”

  1. Danke für die tolle Anleitung.

    Ich hätte noch eine Frage > ich habe für einen Proxy Server eine Eintrag gemacht.
    Kann die Option auswählen aber wenn ich auf Enabled und Apply gehe wird die
    Einstellung nicht gesetzt.
    Wenn ich nur enabled ohne Präsentation gesetzt habe geht es.
    Für die Option des Servers habe ich die Textbox benutzt.

    Danke für Ihre Zeit.

  2. Hallo,
    super Anleitung! Danke dafür!
    Was mir allerdings aufgefallen ist, dass man im Feld Registry Key nicht den Hive eintragen darf sondern erst mit z.B. in dem Fall „Software\…“ beginnen sollte anstatt „HKEY_CURRENT_USER\Software\..“ da dies unter Server 2012 R2 Probleme verursachen kann.
    Die Probleme zeichnen sich darin ab dass dann der Wert nicht unter Software geändert wird sondern ein neuer Key mit, hier als Beispiel, dem Name „HKEY_CURRENT_USER“ erstellt wird und darunter die restlichen Strukturen verzweigen. Ich würde gerne Bilder anhängen aber leider nicht möglich.

    Viele Grüße

  3. Hey vielen lieben dank für diese sehr übersichtlich geschriebene Anleitung.
    Dennoch hätte ich eine Frage bezüglich einer Fehlermeldung, die ich beim Erstellen einer Kategorie bekomme:
    „Category name format invalid“ (https://i.imgur.com/TMkhE7Z.png)

    Wissen Sie wie ich diese Fehlermeldung beheben kann? Beziehungsweise in welcher Verbindung diese mit Bibliotheken oder Windows Versionen steht? Denn ich übernehme die genau die gleiche Namenskonvention wie Sie also kann es ja nur Abhängigkeiten von Außen geben

    Vielleicht fällt Ihnen was hierzu ein. Vielen Dank und Grüße.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.