Verwaltungsvorlagen in Gruppenrichtlinien ermöglichen die zentrale Verwaltung von Registrierungseinstellungen in einer Active Directory-Domäne. Diese Anleitung behandelt das moderne ADMX/ADML-Format.

Verwaltungsvorlagen verstehen

Schlüsselkonzepte

  • ADMX-Dateien: XML-basierte, sprachneutrale Vorlagendateien
  • ADML-Dateien: Sprachspezifische Ressourcendateien mit Anzeigetext
  • Policies-Schlüssel: Einstellungen unter HKLM\SOFTWARE\Policies werden bei GPO-Entfernung bereinigt
  • Tattoo-Einstellungen: Einstellungen außerhalb des Policies-Schlüssels bleiben bestehen

Den zentralen Speicher einrichten

mkdir "\\corp.example.com\SYSVOL\corp.example.com\Policies\PolicyDefinitions"
mkdir "\\corp.example.com\SYSVOL\corp.example.com\Policies\PolicyDefinitions\de-DE"
mkdir "\\corp.example.com\SYSVOL\corp.example.com\Policies\PolicyDefinitions\en-US"

Integrierte Vorlagen kopieren

xcopy "%SystemRoot%\PolicyDefinitions\*.admx" "\\corp.example.com\SYSVOL\corp.example.com\Policies\PolicyDefinitions\" /Y
xcopy "%SystemRoot%\PolicyDefinitions\de-DE\*.adml" "\\corp.example.com\SYSVOL\corp.example.com\Policies\PolicyDefinitions\de-DE\" /Y

ADMX-Vorlage erstellen

Erstellen Sie MeineAnwendung.admx:

<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   revision="1.0" schemaVersion="1.0"
                   xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">

  <policyNamespaces>
    <target prefix="meineApp" namespace="MeineFirma.Policies.MeineAnwendung" />
    <using prefix="windows" namespace="Microsoft.Policies.Windows" />
  </policyNamespaces>

  <resources minRequiredRevision="1.0" />

  <categories>
    <category name="MeineAnwendung" displayName="$(string.MeineAnwendung_Kategorie)">
      <parentCategory ref="windows:System" />
    </category>
  </categories>

  <policies>
    <policy name="AutoUpdate_aktivieren"
            class="Machine"
            displayName="$(string.AutoUpdate_aktivieren)"
            explainText="$(string.AutoUpdate_aktivieren_Hilfe)"
            key="SOFTWARE\Policies\MeineFirma\MeineAnwendung"
            valueName="AutoUpdateAktiviert">
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>

    <policy name="UpdateServer"
            class="Machine"
            displayName="$(string.UpdateServer)"
            explainText="$(string.UpdateServer_Hilfe)"
            presentation="$(presentation.UpdateServer_Darstellung)"
            key="SOFTWARE\Policies\MeineFirma\MeineAnwendung">
      <elements>
        <text id="UpdateServer_URL" valueName="UpdateServerURL" required="true" />
        <decimal id="UpdateIntervall" valueName="UpdateIntervallStunden" minValue="1" maxValue="168" />
      </elements>
    </policy>
  </policies>
</policyDefinitions>

ADML-Datei erstellen

Erstellen Sie de-DE\MeineAnwendung.adml:

<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources revision="1.0" schemaVersion="1.0"
    xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">

  <displayName>Meine Anwendung Richtlinien</displayName>
  <description>Richtlinieneinstellungen für Meine Anwendung</description>

  <resources>
    <stringTable>
      <string id="MeineAnwendung_Kategorie">Meine Anwendung</string>
      <string id="AutoUpdate_aktivieren">Automatische Updates aktivieren</string>
      <string id="AutoUpdate_aktivieren_Hilfe">Aktiviert oder deaktiviert automatische Updates.</string>
      <string id="UpdateServer">Update-Server konfigurieren</string>
      <string id="UpdateServer_Hilfe">Konfiguriert den Update-Server und das Prüfintervall.</string>
    </stringTable>
    <presentationTable>
      <presentation id="UpdateServer_Darstellung">
        <textBox refId="UpdateServer_URL">
          <label>Update-Server-URL:</label>
          <defaultValue>https://updates.example.com</defaultValue>
        </textBox>
        <decimalTextBox refId="UpdateIntervall" defaultValue="24">Prüfintervall (Stunden):</decimalTextBox>
      </presentation>
    </presentationTable>
  </resources>
</policyDefinitionResources>

Vorlage bereitstellen

# ADMX in den zentralen Speicher kopieren
Copy-Item "MeineAnwendung.admx" "\\corp.example.com\SYSVOL\corp.example.com\Policies\PolicyDefinitions\"

# ADML-Dateien in Sprachordner kopieren
Copy-Item "de-DE\MeineAnwendung.adml" "\\corp.example.com\SYSVOL\corp.example.com\Policies\PolicyDefinitions\de-DE\"

Vorlage testen

  1. Gruppenrichtlinien-Verwaltungskonsole öffnen (gpmc.msc)
  2. Neues GPO erstellen oder bestehendes bearbeiten
  3. Navigieren zu Computerkonfiguration > Administrative Vorlagen > System > Meine Anwendung
  4. Einstellung aktivieren und auf Zielcomputer überprüfen

Registrierung überprüfen

Get-ItemProperty "HKLM:\SOFTWARE\Policies\MeineFirma\MeineAnwendung" -ErrorAction SilentlyContinue
gpupdate /force

Bewährte Praktiken

  • Verwenden Sie den Policies-Registrierungsschlüssel für saubere Entfernung
  • Erstellen Sie ADML-Dateien für alle benötigten Sprachen
  • Testen Sie in einer Testumgebung vor der Produktivbereitstellung
  • Verwenden Sie eindeutige Namensräume zur Konfliktvermeidung
  • Pflegen Sie eine Versionskontrolle für ADMX/ADML-Dateien

Zusammenfassung

Benutzerdefinierte ADMX/ADML-Vorlagen erweitern die Gruppenrichtlinien um die Verwaltung von Drittanbieter- und firmeninternen Einstellungen. Der zentrale Speicher gewährleistet Konsistenz. Verwenden Sie den Policies-Schlüssel für ordnungsgemäße Bereinigung und testen Sie Vorlagen immer zuerst in einer Testumgebung.