Skripte über GPO mit Adminrechten ausführen

Besonders beim Automatisieren sind Skripte immer wieder hilfreich. Was aber nun, wenn man diese Skripte über eine Gruppenrichtlinie mit erhöhten Rechten ausführen möchte? Wer hier nicht aufpasst, tappt schnell in eine der klassischen Fallen der Gruppenrichtlinien-Verarbeitung. Nämlich dem Unterschied zwischen der Computer- und Benutzerkonfiguration innerhalb einer Richtlinie.

Vorm Anlegen der Richtlinie sollte man sich darüber im Klaren sein, auf welcher Ebene das Skript laufen soll. Also: Benutzer- oder Computerebene? Skripte auf Benutzerebene werden folgerichtig im Kontext des angemeldeten Benutzers ausgeführt und sind dann auch all dessen Einschränkungen unterworfen. Für benutzerspezifische Änderungen gut, sonst wahrscheinlich eher nicht.

Bindet man das Skript jedoch auf Computerebene ein, entfällt der Benutzerkontext und es erfolgt eine Ausführung mit administrativen Rechten. Quasi wie wenn man lokal eine Batch als Administrator ausführt. Um nun Skripte per GPO mit Adminrechten auszuführen, sind folgende Schritte notwendig:

GPO - Skripte Computer Admin
  1. Öffne in der Gruppenrichtlinien-Verwaltung den Gruppenrichtlinien-Editor der entsprechenden Richtlinie
  2. Suche dort den folgenden Pfad auf:
    Computerkonfiguration -> Windows-Einstellungen -> Skripts -> Starten
  3. Füge nun das gewünschte Skript hinzu
  4. Überprüfe abschließend die Richtlinienzuweisung und setze die Änderungen ggf. per gpupdate /force durch

Da die Richtlinie auf der Computerebene greift, wirkt sie natürlich ohne weitere Vorkehrungen nur auf Computer-Objekte im AD. Wer also die GPO auch auf Benutzerobjekte wirken lassen möchte, muss vorher die Loopback-Verarbeitung aktivieren.

Damit sind dann hoffentlich alle Unwägbarkeiten aus dem Weg geräumt. Die in der Computerkonfiguration der Richtlinie eingebundenen Skripte sollten nach einer Aktualisierung der wirkenden Richtlinien beim nächsten PC-Start mit administrativen Rechten ausgeführt werden.

Content retrieved from: https://dashdot.de/2019/01/18/skripte-gpo-admin/.

Auf Client wirkende Gruppenrichtlinien anzeigen lassen

In größeren Active Directory-Infrastrukturen kann die Ordnung der Gruppenrichtlinien schnell verloren gehen. Dies erschwert unter Umständen die Fehlerbehebung, wenn es zu Problemen kommt. Um bei der Recherche trotzdem schnell einen Überblick über die auf einen Client wirkenden GPOs zu erhalten, gibt es diverse Tools, mit denen man die aktiven Gruppenrichtlinien anzeigen lassen kann.

Variante 1: gpresult

Die gängigste Variante der Auswertung ist heutzutage gpresult. Mit diesem Helferlein sieht man recht schnell und übersichtlich, welche aktiven Gruppenrichtlinien auch aktuell greifen. Für dieses Tool gibt es einige verschiedene Ausgabemöglichkeiten, die ich hier mal kurz darstelle.

Ergebnisse in Kommandozeile anzeigen lassen

Das ist der schnellste Weg, um direkt in der Konsole einen Überblick über die wirkenden GPOs zu erhalten. Außerdem erhält man noch weitere Informationen, wie zum Beispiel den Zeitpunkt des letzten Updates, den dabei genutzten Domänen-Controller oder etwaige Gruppenmitgliedschaften. Dafür muss man lediglich den folgenden Befehl absetzen:
gpresult /r

Auswertung auf Computerkonfiguration beschränken

Zur Übersichtlichkeit kann man die Ausgabe auch einschränken, zum Beispiel auf die Richtlinien der Computerkonfiguration. Dazu hängt man einfach ein /scope:computer ran:
gpresult /r /scope:computer

Auswertung auf Benutzerkonfiguration beschränken

Das Gleiche geht natürlich auch für die Benutzerebene:
gpresult /r /scope:user

Remote-Computer abfragen

Auch ganz praktisch: Man kann die Anfrage ebenso an einen entfernten Computer schicken. Dies geschieht durch folgendes Kommando (%PC-NAME% entsprechend abändern):
gpresult /s %PC-NAME% /r

Ergebnisse in Datei exportieren

Wem jetzt allerdings die Kommandozeile etwas zu unübersichtlich ist, dem empfehle ich den Export der Ergebnisse in eine externe Datei. Dafür gibt es diverse Möglichkeiten.

TXT-Datei

Wer’s simpel mag, kann hier zur guten alten Text-Datei greifen. Dafür braucht es den folgenden Befehl:
gpresult /r >C:GPOs.txt

HTML-Datei

Wer jedoch lieber eine grafische Übersicht möchte, sollte auf eine HTML- oder XML-Datei zurückgreifen. Für einen HTML-Export sieht das Kommando wie folgt aus:
gpresult /h C:GPOs.html

XML-Datei

Wer stattdessen zum XML-Export tendiert, muss nicht viel anpassen:
gpresult /x C:GPOs.xml

Detaillierte Informationen ausgeben lassen

Abschließend noch ein kleiner Tipp aus den Kommentaren (danke): Mit dem Parameter /z lassen sich detailliertere Ergebnisse generieren, für komplexere Probleme:
gpresult /z

Variante 2: rsop

Die rsop-Konsole ist schon etwas in die Jahre gekommen, kann sich im Einzelfall aber trotzdem noch als nützlich erweisen, um zu sehen, welche Optionen einer GPO greifen. Im Gegensatz zu gpresult werden die Ergebnisse in einem vom Gruppenrichtlinienen-Editor bekannten Fenster dargestellt. Es gibt allerdings zwei entscheidende Nachteile: Man muss sich zu jeder einzelnen Option durchklicken, um nachzuschauen, wie diese eingestellt ist. Es gibt also keine Übersicht. Zudem werden die Einträge der Rubrik Windows-Einstellungen einer GPO nicht ausgewertet. Wer rsop trotzdem eine Chance geben möchte, gibt folgendes in der Kommandozeile oder im Ausführen-Dialog ein:
rsop.msc
Mit dieser letzten Möglichkeit haben wir jetzt die gängigsten Optionen abgedeckt, um Gruppenrichtlinien anzeigen zu lassen. Es sei denn, jemanden fällt hier noch eine ein. Abschließend sei noch auf die Microsoft Docs verwiesen, wo alle Schalter für gpresult aufgeführt sind.

Content retrieved from: https://dashdot.de/2021/04/08/auf-client-wirkende-gruppenrichtlinien-anzeigen-lassen/.

Betrieben von WordPress | Theme: Baskerville 2 von Anders Noren.

Nach oben ↑