Gruppenrichtlinien: Umgebungsvariablen setzen und abfragen

    Kostenloses Backup für VMware und Hyper-V: Sicherung ohne Agent, Restore von VMs oder Dateien, dauerhaft gratis, kein VM-Limit. Jetzt herunterladen »

    (Anzeige)

    Item Level Targeting über UmgebungsvariablenMittels Umgebungs­variablen kann man fixe Pfad­angaben, Benutzer­namen oder dgl. ver­meiden und statt­dessen flexible Werte einsetzen. Das gilt auch für GPOs, deren Anwendung sich an bestimmte Variablen koppeln lässt. Darüber hinaus erlauben die Gruppen­richtlinien das Festlegen von Umgebungs­variablen auf den Zielrechnern.

    Die Zweiteilung der Gruppenrichtlinien zwischen Administrative Vorlagen, Windows-Einstellungen und Software-Installation auf der einen Seite und den neueren Group Policy Preferences (GPP) macht sich auch bei der Nutzung von Umgebungsvariablen klar bemerkbar (siehe dazu meinen Beitrag Gruppenrichtlinien versus Group Policy Preferences). Während die Unterstützung in den älteren Komponenten der Gruppenrichtlinien dürftig ausfällt, bieten die GPP ausgefeilte Möglichkeiten zur Abfrage und Definition solcher Variablen.

    Ausführung von GPOs über Variablen steuern

    Ein gängiges Anliegen dürfte sein, die Ausführung von GPOs von bestimmten Bedingungen abhängig zu machen. Die Einschränkung auf bestimmte User oder Computer erfolgt üblicherweise über die Verknüpfung einer GPO mit OUs, darüber hinaus kann man zusätzliche Filter über WMI einrichten. Ein solcher ist auch in der Lage, den Wert einer Umgebungsvariablen zu prüfen, so dass eine GPO nur angewandt wird, wenn der Vergleich zutrifft.

    Mit Hilfe von WMI-Filtern lassen sich auch die Werte von Systemvariablen in der Umgebung abfragen und als Filter nutzen.

    Dabei ist es nur sinnvoll, Systemvariablen heranzuziehen, weil die Client Side Extensions (CSE) zur Ausführung von GPOs im Kontext des SYSTEM-Kontos laufen und in diesem die benutzer­spezifischen Variablen nicht verfügbar sind (die GPP erlauben indes ihre Ausführung im User-Kontext). Beispielsweise könnte man mit dem folgenden WMI-Filter die Anwendung von GPOs auf solche Rechner beschränken, bei denen eine Variable namens HOSTNAME mit Dev beginnt

    Select * from Win32_Environment WHERE name = "HOSTNAME" AND VariableValue LIKE "Dev%"

    Group Policy Preferences mit Variablen einschränken

    Weit einfacher fällt das Einschränken der Group Policy Preferences auf bestimmte Computer oder Benutzer. Hier bedarf es meistens keiner WMI-Filter, vielmehr stehen hier im Rahmen des Item Level Targeting (Zielgruppenadressierung auf Elementebene) zahlreiche vordefinierte Kriterien zur Auswahl. In den meisten Fällen wird man gar nicht auf Umgebungsvariablen zurückgreifen müssen, weil fast alle erdenklichen Eigenschaften des Systems und der User direkt abgefragt werden können.

    Drückt man im Dialog zur Eingabe von Variablen die F3-Taste, dann öffnet sich eine lange Liste vorgegebener Einträge.

    Benötigt man dennoch den Wert einer Umgebungsvariablen, dann steht dafür ein eigener Dialog zur Verfügung, in dem man ihren Namen und den Vergleichswert eingeben kann. Drückt man hier die F3-Taste, dann öffnet sich eine Liste aller verfügbaren Variablen, darunter nicht nur mit jenen aus der Umgebung, sondern auch solche von den GPP selbst. Wählt man die Option Variable auflösen unten links ab, dann wird die Variable bei der Ausführung der Einstellung nicht durch ihren Wert ersetzt.

    Variablen schreiben mit den GPP

    Die GPP können nicht nur Umgebungsvariablen auslesen, um die Anwendung von Einstellungen davon abhängig zu machen. Sie bieten auch die Mittel, in das Environment zu schreiben, und zwar unter Computerkonfiguration bzw. Benutzerkonfiguration => Einstellungen => Windows-Einstellungen => Umgebung. Diese Funktion kann sowohl System- als auch Benutzervariablen wahlweise anlegen, verändern oder löschen.

    Die GPP bieten eine eigene Funktion, um den Suchpfad teilweise oder ganz zu verändern.

    Darüber hinaus bietet sie noch spezifische Möglichkeiten zur Bearbeitung des Suchpfads. Aktiviert man die Optionen PATH und Teil, dann kann man einzelne Verzeichnisse innerhalb des Pfads verändern oder zu diesem hinzufügen. Wählt man Teil ab, dann wird die komplette PATH-Variable geschrieben.

    Wie bei allen anderen Einstellungen, die man über die GPP vornehmen kann, lässt sich das Setzen von Umgebungsvariablen ebenfalls über die Zielgruppenadressierung steuern. Auf diese Weise kann man sich die exzellenten Filteroptionen zunutze machen, um bestimmte Rechner oder User mit Hilfe von Umgebungsvariablen gezielt zu markieren. Danach können sich andere Programme oder Scripts an ihren Werten orientieren.

    2 Kommentare

    Bild von Christoph Rall
    Christoph Rall sagt:
    10. Mai 2016 - 15:18

    Hallo:
    Select * from Win32_Environment WHERE AND VariableValue LIKE "Dev%"
    ist falsch, es muss heißen:
    Select * from Win32_Environment WHERE name = "HOSTNAME" AND VariableValue LIKE "Dev%"

    MfG,
    Christoph Rall

    Bild von Wolfgang Sommergut
    10. Mai 2016 - 16:30

    Danke! Ich habe das Statement korrigiert.