Gruppenrichtlinien mit WMI-Filter auf bestimmte PCs und User beschränken

WQL-Abfrage für WMI-FilterDie in Gruppenrichtlinien enthaltenen Ein­stellungen lassen sich Computern und Benutzern über Domänen, organisatorische Einheiten (OUs) oder Standorte (Sites) zuordnen. Wenn man sie nach weiteren Kriterien auf bestimmte Objekte beschränken möchte, dann helfen dabei WMI-Filter.

Bei den WMI-Filtern handelt es sich um Abfragen in der WMI Query Language (WQL), einer SQL-ähnlichen Abfragesprache für das Windows Management Instrumentation. Ergibt ihre Auswertung das Ergebnis TRUE, wird das Gruppenrichtlinienobjekt auf den Computer oder Benutzer angewandt, bei FALSE dagegen wird es ignoriert.

Dynamische Anwendung von GPOs mit WMI-Filtern

Der Vorteil solcher Filter besteht nicht nur darin, dass man keine eigenen OUs anlegen muss, um den Gültigkeitsbereich eines GPO einzuschränken. Vielmehr spricht für sie, dass es sich dabei um einen dynamischen Mechanismus handelt, der Eigenschaften des Zielobjekts immer zum Zeitpunkt der Abfrage auswertet und daher mit sich verändernden Konfigurationen zurechtkommt.

Soll eine Richtlinie in einer OU beispielsweise nur auf Clients zutreffen, auf denen ein 64-Bit-Windows läuft, dann greift sie automatisch, wenn auf einem PC ein solches Betriebssystem installiert wird, ohne das er noch separat in irgendeinen Container oder dgl. aufgenommen werden müsste. In diesem Fall würde das WQL-Statement folgendermaßen aussehen:

select * from Win32_OperatingSystem where OSArchitecture="64-Bit"

Einen neuen WMI-Filter legt man in der Gruppenrichtlinienverwaltung im entsprechenden Ordner an.Um einen WMI-Filter zu erstellen, klickt man innerhalb der Richtlinienverwaltung in der gewünschten Struktur mit der rechten Maustaste auf den Ordner WMI-Filter und führt den Befehl Neu aus. Nach Eingabe des Namens und der Beschreibung öffnet man über den Button Hinzufügen das Fenster, in dem man seine WMI-Abfrage formulieren kann.

Hilfsmittel für WQL-Abfragen erforderlich

Nachdem sich kaum jemand die Unmenge der verfügbaren WMI-Klassen und ihre Attribute merken kann, benötigt man an dieser Stelle entsprechende Hilfsmittel, die einen bei der Erstellung einer WQL-Abfrage unterstützen. Die Richtlinienverwaltung hat in dieser Hinsicht nichts zu bieten, so dass hier externe Tools gefragt sind.

Eines davon ist Microsofts kostenloser WMI Code Creator. Dieser erstellt zwar keine WQL-Abfragen, aber erzeugt unter anderem VBScript-Code, aus dem man das eingebettete WQL-Statement übernehmen kann. Außerdem bietet das Tool einen Namespace-Browser, mit dem man sich durch alle verfügbaren WMI-Klassen arbeiten kann. Alternativ empfiehlt sich das ebenfalls kostenlose WMI multi Query, das auch WQL-Abfragen generieren kann.

Abfragen dürfen keine Arrays zurückgeben

Eine Einschränkung von WMI-Filtern besteht darin, dass sie keine Abfragen auswerten können, die als Ergebnis ein Array zurückliefern. Das gilt beispielsweise für die Eigenschaft MUILanguages der Klasse Win32_OperatingSystem oder für ChassisTypes in Win32_SystemEnclosure.

Letztere würde sich eignen, um etwa Notebooks von Desktops oder Subnotebooks zu unterscheiden. Da es sich auch hier um ein Array handelt, muss man mit etwas Phantasie auf andere Eigenschaften ausweichen, mit denen man ein Notebook von einem Desktop auseinanderhalten kann, beispielsweise BatteryStatus in Win32_Battery.

WMI-Filter einem GPO zuweisen

Unter der Registerkarte "Bereich" kann man einer GPO einen WMI-Filter zuweisen. Um einen einmal angelegten WMI-Filter einem GPO zuzuordnen, wählt man dieses in der Gruppenrichtlinienverwaltung aus. Unter der Registerkarte Bereich befindet sich der Abschnitt WMI-Filterung, wo man über ein Pull-Down-Menü aus sämtlichen Filtern den gewünschten auswählen kann.

Bei der Verwendung von WMI-Filtern wäre zu berücksichtigen, dass sie mit XP und Windows Server 2003 eingeführt wurden. Befinden sich noch Rechner mit Windows 2000 im Netz, dann werden dort die Gruppenrichtlinien ohne Rücksicht auf einen WMI-Filter immer angewandt.

2 Kommentare

Bild von Tom
Tom (Besucher) sagt:

Super tooles, kleines, portables Tool, um WMI-Filter zu testen ist das "WMI Filter Validation Utility":
http://gpoguy.com/free-tools/free-tools-library/wmi-filter-validation-ut...

Bild von Wolfgang Sommergut

Hallo Tom, danke für den Hinweis! Ich kenne den WMI Filter Validator und hatte eine kurze Übersicht als Nachschlag zu diesem Beitrag vorbereitet.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht angezeigt. Wenn mit Ihrer angegebenen Mail-Adresse ein Gravatar verknüpft ist, dann wird dieser neben Ihrem Kommentar eingeblendet.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.
  • Mail-Adressen werden im Seitenquelltext unkenntlich gemacht, um sie vor dem automatischen Erfassen durch Spammer zu schützen.

Weitere Informationen über Formatierungsoptionen