Tipps, Tools und CMDLets

Windows-Gruppenrichtlinien überprüfen und Fehler beheben

11.11.2011 von Thomas Joos
Der Einsatz von Gruppenrichtlinien ist nur dann sinnvoll, wenn diese auch einwandfrei funktionieren. Dieser Praxisbeitrag zeigt, wie Sie Gruppenrichtlinien überprüfen und Fehler beheben und welche Tools sowie CMDLets für die PowerShell dabei helfen.
Gruppenrichtlinien richtig einsetzen.
Foto: Fotolia, Andre Bonn

Beim Einsatz von Gruppenrichtlinien ist es notwendig zu überprüfen, ob Einstellungen auf den Clients überhaupt verwendet werden und wie sich diese auswirken. Wenn bestimmte Einstellungen oder ganze Richtlinien nicht mehr wirksam sind, gehört die Fehlersuche zu den grundlegenden Aufgaben.

In diesem Artikel verwenden wir exemplarisch den Small Business Server 2011 Standard, der auf dem Standardbetriebssystem Windows Server 2008 R2 Standard x64 aufbaut. Zusätzlich haben wir auf dem Server das Service Pack 1 für Windows Server 2008 R2 installiert. Dieses lässt sich auch für Windows 7 sowie für Microsoft Hyper-V Server 2008 R2 installieren. Alle Vorgehensweisen funktionieren natürlich auch ganz normal mit Windows Server 2008 R2 und teilweise auch mit Windows Server 2008.

Gruppenrichtlinien-Praxis
Gruppenrichtlinien-Praxis
Gruppenrichtlinien lassen sich per PowerShell verwalten.
Gruppenrichtlinien-Praxis
Per Befehl lassen sich ausführliche Hilfen und Beispiele für CMDlets zur Verwaltung von Gruppenrichtlinien in Windows Server 2008 R2 anzeigen.
Gruppenrichtlinien-Praxis
Windows 7, Windows Server 2008 R2 und Small Business Server 2011 Standard unterstützen PowerShell-Skripte zum Anmelden, Abmelden sowie Hoch- oder herunterfahren.
Gruppenrichtlinien-Praxis
Das Microsoft-Tool ADMX Migrator kann bei unterschiedlichen adm-Versionen hilfreiche Dienste leisten.
Gruppenrichtlinien-Praxis
Per Befehlszeile können Sie die Gruppenrichtlinie manuell übernehmen.
Gruppenrichtlinien-Praxis
So erstellen Sie eine Abfrage für Richtlinien.
Gruppenrichtlinien-Praxis
Sie müssen eine DLL für das Group Policy Help CMDlet registrieren.
Gruppenrichtlinien-Praxis
So sieht eine Überprüfung eines Computers auf angewendete Gruppenrichtlinien aus.
Gruppenrichtlinien-Praxis
Es lassen sich Berichte im HTML-Format anfertigen.

Viele Einstellungen der Gruppenrichtlinien in Windows Server 2008 R2 erfordern Clients mit Windows 7, zum Beispiel Branch Cache und DirectAccess. Die meisten Einstellungen übernehmen aber auch Arbeitsstationen mit Windows Vista und teilweise auch Windows XP. In der Beschreibung der meisten Richtlinien sehen Sie, mit welchen Betriebssystemen diese kompatibel sind.

Gruppenrichtlinien in Windows Server 2008 R2 und Windows 7

Beim Zusammenspiel von Windows Server 2008 R2 und Windows 7 lassen sich jetzt auch Gruppenrichtlinien automatisch anwenden, wenn sich ein Client per VPN mit dem Netzwerk verbindet. Dazu ist noch nicht mal eine direkte VPN-Einwahl notwendig, denn Windows 7 kann Netzwerkverkehr kapseln und über das Internet zu einem veröffentlichten Server senden. Ein so angebundener Computer verhält sich, wie wenn er im lokalen Netzwerk positioniert ist. Dafür sorgt die neue DirectAccess-Technik in Windows 7 und Windows Server 2008 R2. Das heißt, Gruppenrichtlinien lassen sich jetzt auch mit Heimarbeitsplatzrechnern anwenden, was die Überprüfung aber teilweise erschwert.

Sie haben auch die Möglichkeit, die Verwaltungswerkzeuge von Gruppenrichtlinien, also vor allem die Gruppenrichtlinienverwaltungskonsole, auf einem Client-Rechner zu installieren. Der Vorteil dabei ist, dass Sie Test-Tools nicht auf Servern installieren müssen, sondern Arbeitsstationen des Admins verwenden können. Auf einem Admin-PC sind Zusatz-Tools wesentlich besser aufgehoben als auf einem Server.

Damit Sie die Gruppenrichtlinienverwaltung von Windows Server 2008 R2 auf einem Computer mit Windows 7 ausführen können, benötigen Sie die Remote-Server-Verwaltungs-Tools (RSAT), die Sie bei Microsoft herunterladen können. Über diese Tools lassen sich unter anderem die Richtlinien verwalten. Damit Client-Computer Richtlinien anwenden, benötigen PCs grundsätzlich keine zusätzliche Software - entweder ist der Computer kompatibel mit der entsprechenden Richtlinieneinstellung, oder er ist es nicht.

Richtlinienverwaltung mit der PowerShell

Eingebung: Gruppenrichtlinien lassen sich per PowerShell verwalten.

Windows 7, Windows Server 2008 R2 und auch Small Business Server 2011 Standard bieten auch die Möglichkeit, Gruppenrichtlinien über die Windows-PowerShell zu verwalten. Dazu steht das neue PowerShell-Modul grouppolicy zur Verfügung, das Sie mit dem Befehl import-module grouppolicy in die Windows-PowerShell ISE oder einer normalen PowerShell-Sitzung importieren können.

Die PowerShell 2.0 ist bei Windows Server 2008 R2 und Windows 7 automatisch installiert, die grafische Oberfläche (ISE) dazu müssen Sie aber über Features im Server-Manager manuell nachinstallieren; das gilt auch für Small Business Server 2011. Sobald Sie das Modul für die Verwaltung von Gruppenrichtlinien geladen haben, können Sie mit der Verwaltung der Richtlinien in der Befehlszeile beginnen.

Die wichtigsten CMDlets können Sie sich anzeigen lassen, wenn Sie

get-command *gpo*

Hilfreich: Per Befehl lassen sich ausführliche Hilfen und Beispiele für CMDlets zur Verwaltung von Gruppenrichtlinien in Windows Server 2008 R2 anzeigen.

eingeben. Mit dem Befehl help <CMDlet> erhalten Sie eine Hilfe zum entsprechenden CMDlet, zum Beispiel help new-gpo. Für viele CMDlets gibt es noch die Option help <CMDlet> -detailed. Dieser Befehl bietet noch mehr Informationen. Mit dem Befehl help <CMDlet> -examples lassen sich Beispiele für den Befehl anzeigen. Auch das funktioniert für alle Befehle in der PowerShell. Leider sind in den Bordmitteln keine CMDlets integriert, mit denen Sie CMDlets überwachen oder Fehler suchen können. Wir zeigen Ihnen aber in den folgenden Abschnitten, wie Sie solche CMDlets kostenlos nachinstallieren.

Die neuen Gruppenrichtlinien ermöglichen auch Einstellungen, bei denen PowerShell-Skripte beim Starten/Herunterfahren/An- oder Abmelden immer vor normalen Skripten ablaufen. Sie finden diese Einstellungen über Computerkonfiguration\Richtlinien\Administrative Vorlagen\System\Skripts in der Gruppenrichtlinienverwaltungskonsole.

Praktisch: Windows 7, Windows Server 2008 R2 und Small Business Server 2011 Standard unterstützen PowerShell-Skripte zum Anmelden, Abmelden sowie Hoch- oder Herunterfahren.

Neu sind auch die erweiterten Starter-Gruppenrichtlinienobjekte. Diese sind schreibgeschützte Vorlagen, die Sie bei der Erstellung von neuen Richtlinien nutzen können. Auch diese Bereiche funktionieren in Windows Server 2008 R2 sowie Small Business Server 2011 Standard. Außerdem können Sie PowerShell-Skripte als Logon-Skripte in Windows 7, Windows Server 2008 R2 und Small Business Server 2011 einsetzen.

Windows 7, Windows Server 2008 R2 und Small Business Server 2011 Standard unterstützen PowerShell-Skripte zum Anmelden, Abmelden, Hoch- oder Herunterfahren

Neuerungen in Gruppenrichtlinien seit Windows Server 2003 und Windows XP

Unter Windows XP und Windows Server 2003 gab es für unterschiedliche Sprachversionen von Windows unterschiedliche Versionen der Vorlagendateien (*.adm-Dateien). Da dies vor allem für internationale Unternehmen nicht sehr effizient ist, hat Microsoft das Design der Vorlagendateien ab Windows Server 2008 angepasst. Administratoren müssen Änderungen in Gruppenrichtlinien dadurch nicht in jeder Sprachversion erstellen, sondern nur noch einmal zentral im Unternehmen.

Die alten Vorlagendateien (*.adm) lassen sich auch unter Windows Server 2008 R2 weiterhin verwenden. Windows Server 2008 R2 verwendet für seine neuen Vorlagendateien sprachneutrale *.admx-Dateien. Diese bauen auf XML auf. Diese *.admx-Dateien werden nicht mehr für jede einzelne Gruppenrichtlinie hinterlegt, sondern zentral im Policy-Ordner.

Dadurch sparen die Richtlinien deutlich Bandbreite, da nur noch die Einstellungen in den Gruppenrichtlinien replizieren, nicht mehr alle *.adm-Dateien bei jeder Replikation. Windows Server 2003 hat in allen Gruppenrichtlinienobjekten immer alle verwendeten *.adm-Dateien gespeichert, was zu einem unnötigen Datenverkehr bei der Replikation und zu vermeidbarem Speicherplatzverbrauch führt.

Probleme bei unterschiedlichen Windows-Versionen

Unterstützung: Das Microsoft-Tool ADMX Migrator kann bei unterschiedlichen adm-Versionen hilfreiche Dienste leisten.

Beim Einsatz von unterschiedlichen Windows-Versionen im Netzwerk kann es durchaus zu Problemen kommen - Grund sind die daraus resultierenden unterschiedlichen *.adm-Dateien. Die Vorlagendateien von Windows Server 2008 R2 (*.admx) liegen im Verzeichnis C:\Windows\PolicyDefinitions. Im Verzeichnis der Gruppenrichtlinienvorlagen sehen Sie auch die installierten Sprachversionen von Windows Server 2008 R2.

Für jede installierte Sprache auf einem Server gibt es einen entsprechenden Ordner. Jeder dieser Ordner enthält die sprachspezifischen *.adml-Dateien, die auf die entsprechende sprachneutrale *.admx-Datei referenziert. Windows Server 2008 R2 kopiert die *.admx-Dateien nicht vom Gruppenrichtlinienverwaltungs-Editor und von der Gruppenrichtlinienverwaltungskonsole in das gerade bearbeitete GPO. Stattdessen verwendet der Server die Dateien von einem zentralen Speicherort im SYSVOL-Ordner eines Domänen-Controllers.

Zur Migration bisheriger ADM-Vorlagen, aber auch für das Erstellen neuer Vorlagen gibt es ein Snap-In für die Managementkonsole, den ADMX Migrator. Das Tool steht über das Microsoft Download-Center zur Verfügung. Der ADMX-Migrator-Tool kann bestehende *.adm-Dateien in *.admx umwandeln oder neue ADMX-Vorlagen erstellen.

Testen von Gruppenrichtlinien mit Bordmitteln

Übernahme: Per Befehlszeile können Sie die Gruppenrichtlinie manuell übernehmen.

Um Gruppenrichtlinien lokal zu testen, können Sie die Gruppenrichtlinie auf einer Windows-Arbeitsstation mit gpupdate /force in der Befehlszeile übertragen. Alternativ können Sie die Arbeitsstation neu starten. Wenn Sie die Einstellungen korrekt vorgenommen haben, lässt sich feststellen, ob die Arbeitsstation oder der Server die Richtlinie angewendet hat.

Sie sollten bei der Einführung von Richtlinien immer eigene Gruppenrichtlinien anlegen und bereits vorhandene Standardrichtlinien nicht bearbeiten. Das hat den Vorteil, dass bei einem Problem auf jeden Fall der Weg frei bleibt, die eigenen Richtlinien zu deaktivieren.

Wenn Gruppenrichtlinien nicht funktionieren, können die Ursachen sehr unterschiedlich sein. Sie sollten Schritt für Schritt untersuchen, wo das Problem liegen könnte. Legen Sie am besten für die unterschiedlichen Einstellungen verschiedene Gruppenrichtlinien an und verknüpfen Sie diese mit der entsprechenden OU oder der ganzen Domäne.

Checkliste zur Fehlersuche

Bei der Überprüfung helfen noch folgende Punkte:

Check: So erstellen Sie eine Abfrage für Richtlinien.

Auf der Internetseite http://www.gruppenrichtlinien.de/ finden Sie weiterführende Informationen und Tipps rund um den Einsatz von Gruppenrichtlinien und zur Fehlerbehebung. Auch auf der englischsprachigen Seite gpoguy.com gibt es ausführliche Informationen und Tools für Gruppenrichtlinien. Im deutschsprachigen Gruppenrichtlinien-Forum von Microsoft erhalten Administratoren ebenfalls umfassende Informationen.

Das Group Policy Help CMDlet

Mit Standardmitteln lässt sich nicht ohne Weiteres überprüfen, ob eine gesetzte Gruppenrichtlinie bei den Clients im Netzwerk auch ankommt und ob diese auch die Einstellungen übernehmen, die Sie in Gruppenrichtlinien gesetzt haben.

Bedingung: Sie müssen eine DLL für das Group Policy Help CMDlet registrieren.

Der einzige Weg besteht im Überwachen der Ereignisanzeige und im Auswerten entsprechender Fehlermeldungen (siehe auch Workshop - Log-Dateien auf Windows-Systemen auswerten). Administratoren können bei SDMSoftware das kostenlose CMDlet Group Policy Help herunterladen. Nachdem Sie es in die PowerShell eingebunden haben, können Sie mit dem Befehl Get-SDMGPHealth -computer <Computername> überprüfen, ob gesetzte Gruppenrichtlinien funktionieren.

Dazu verbindet sich das Tool mit dem Zielrechner, auf Wunsch auch mit mehreren, und überprüft, ob der Ablauf von Richtlinien auf dem entsprechenden Computer funktioniert. Nach dem Download installieren Sie das Tool zunächst. Im nächsten Schritt müssen Sie noch eine DLL des CMDlets registrieren. Auf 64-Bit-Systemen, also vor allem auf Windows Server 2008 R2 und SBS 2011, müssen Sie ein anderes Verzeichnis verwenden, als in 32-Bit-Servern zum Beispiel mit Windows Server 2008 oder Windows 7:

1. Öffnen Sie eine Befehlszeile im Verzeichnis C:\Windows\Microsoft.NET\Framework\v2.0.50727. Sie können dazu im Windows-Explorer das Verzeichnis einfach mit der rechten Maustaste anklicken und dabei die Shift-Taste gedrückt halten. Anschließend finden Sie im Kontextmenü den Befehl zum Öffnen einer Befehlszeile in diesem Verzeichnis. Setzen Sie ein 64-Bit-System ein, müssen Sie den gleichen Befehl im Verzeichnis Framework64 durchführen.

2. Um die DLL zu registrieren geben Sie den Befehl installutil "c:\Programm Files (x86)\SDM Software\Group Policy Health CMDlet\GetSdmGPHealth.dll" ein. Achten Sie aber darauf, dass der Befehl nur in Eingabeaufforderungen funktioniert, die Sie mit Administratorrechten gestartet haben.

Kontrolle: So sieht eine Überprüfung eines Computers auf angewendete Gruppenrichtlinien aus.

Um das CMDlet zu verwenden, rufen Sie die PowerShell über den Befehl Launch PowerShell with GP Health Snap-In in der Programmgruppe SDM Software auf. Im Verzeichnis C:\Program Files (x86)\SDM Software\Group Policy Health Cmdlet finden Sie eine Hilfedatei zum CMDlet. Der einfachste Weg zu überprüfen, ob ein Computer GPOs abruft ist der Befehl Get-SDMGPHealth -computer <Computername>. In der Ausgabe sehen Sie, welche Computerrichtlinien und Benutzerrichtlinien der Computer angewendet hat. Das heißt, die Gruppenrichtlinien in dieser Aufzählung kommen am Client an.

GPResult - HTML-Bericht erstellen

Protokoll: Es lassen sich Berichte im HTML-Format anfertigen.

Lokal auf einem Computer können Sie in der Befehlszeile mit dem Bordmittel-Tool gpresult /h <HTML-Datei> einen HTML-Bericht erstellen, der anzeigt, welche Gruppenrichtlinien der Client anwendet und welche Einstellungen enthalten sind. Mit der Option /x erstellen Sie wiederum eine XML-Datei, die Sie in Programmen oder Skripten einlesen können. Ein Beispiel ist der Befehl gpresult /h c:\temp\test.html.

Anschließend können Sie die Datei im Browser öffnen und sich den Bericht anzeigen lassen. Das Tool kann noch mehr Berichte erstellen; auf der Technet-Seite von GPResult erhalten Sie Hilfe zu allen Optionen des Tools.

Dieser Artikel basiert auf einem Beitrag unserer Schwesterpublikation TecChannel. (ph)