GPO – WMI-Filter zum Filtern der Anwendung von Gruppenrichtlinien verwenden

In diesem Tutorial werde ich Ihnen erklären, wie Sie WMI-Filter für Gruppenrichtlinien erstellen und verwenden, um die Anwendung von Gruppenrichtlinien zu filtern.

Bevor wir mit dem „technischen“ Teil beginnen, in dem wir uns ansehen, wie man einen WMI-Filter für eine Gruppenrichtlinie konfiguriert und verwendet, möchte ich anhand eines Beispiels verdeutlichen, welche Vorteile die Verwendung eines WMI-Filters bietet.

Warum WMI-Filter verwenden?

Zur Veranschaulichung dieses Tutorials gehen wir von folgender Situation aus: Eine Gruppenrichtlinie soll nur auf Computer angewendet werden, auf denen Windows 7 läuft.

Wie auf den folgenden Screenshots zu sehen ist, wird die Betriebssystemversion in der Beschreibung angegeben.

Um unser Problem zu lösen, stehen uns mehrere Lösungen zur Verfügung:

  • Eine Gruppe (Computer_W7) erstellen, die Computer dieser Gruppe hinzufügen und die Richtlinie auf die Gruppe anwenden
  • In den Organisationseinheiten (OU) eine neue Unter-OU mit der Betriebssystemversion erstellen und die Richtlinie mit den Organisationseinheiten verknüpfen

Wie Sie sicherlich verstanden haben, gibt es mehrere Lösungen, um zum „gleichen“ Ergebnis zu gelangen. Hier werden wir sehen, wie wir dieses Problem mithilfe eines WMI-Filters lösen können, der es uns ermöglicht:

  • Eine dynamische Lösung zu erhalten: Wenn der Computer auf Windows 10/11 aktualisiert wird, wird die Gruppenrichtlinie automatisch und ohne unser Zutun nicht mehr angewendet
  • Die Struktur der Organisationseinheiten nicht ändern zu müssen
  • Keine Erstellung zusätzlicher Gruppen

Was ist WMI?

Dieser Abschnitt dient lediglich als Zusammenfassung, damit Sie wissen, was WMI ist.

WMI ist die Abkürzung für „Windows Management Instrumentation“ und basiert auf dem WBEM-Standard (Web-Based Enterprise Management). Damit lassen sich über Abfragen (die SQL sehr ähnlich sind) Informationen über das System abrufen, wie z. B. Hardwarekomponenten oder Informationen zum Betriebssystem …

WMI kann verwendet werden:

  • Mit Gruppenrichtlinien
  • PowerShell mit dem Cmdlet „Get-WmiObject“
  • VBS
  • ….

Hier ein Beispiel für eine WMI-Abfrage:

select name,version,producttype from Win32_OperatingSystem

Das ergibt in PowerShell:

Get-WmiObject -query "select name,version,producttype from Win32_OperatingSystem"
WMI Query

Nun, da Sie über die notwendigen Informationen verfügen, um dieses Tutorial bestmöglich zu verstehen, geht es an die Praxis.

Die WMI-Abfrage

Bevor wir unseren WMI-Filter erstellen, sehen wir uns zunächst die Abfrage an, die wir erstellen werden.

Wir möchten nach der Version unseres Betriebssystems filtern. Diese Information befindet sich in der Klasse (Tabelle) Win32_OperatingSystemund wir suchen nach dem Wert (Feld) Version.

Das ergibt vorerst Folgendes:

Select * FROM Win32_OperatingSystem WHERE version = X.Y

Um die Windows-Versionen zu ermitteln, muss man im Internet recherchieren, da sich diese regelmäßig ändern.

Zum Zeitpunkt der Erstellung dieses Tutorials kann ich Ihnen Folgendes mitteilen:

Windows-VersionVersionsnummer
Windows XP (32)5.1
Windows XP (64)5.2
Windows Server 2003 R25.2
Windows Vista6.0
Windows Server 20086.0
Windows 76.1
Windows Server 2008 R26.1
Windows 86.2
Windows Server 20126.2
Windows 8.16.3
Windows Server 2012 R26.3
Windows 10 (1607)10.0.14393
Windows 10 (1809)10.0.17763
Windows 10 (1909)10.0.18363
Windows 10 (2004)10.0.19041
Windows 10 (20H2)10.0.19042
Windows 10 (21H1)10.0.19043
Windows 11 (21H2)10.0.22000
Windows Server 2016 (1607)10.0.14393
Windows Server 2019 (1809)10.0.17763
Windows Server 2022 (21H2)10.0.20348

Da wir nun die Windows-Versionen kennen, kehren wir zu unserer WMI-Abfrage zurück. Laut der Tabelle lautet die Version von Windows 7 6.1

Damit ergibt sich folgender Filter für Windows-7-Computer:

Select * FROM Win32_OperatingSystem WHERE version = 6.1

In der Praxis werden wir folgende Abfrage verwenden:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "6.1%"

Durch die Verwendung von „LIKE“ werden alle Windows-Versionen ausgewählt, die mit 6.1 beginnen. Das bedeutet, dass eine vollständige Windows-Version wie 6.1.XYZ von der WMI-Abfrage als gültig erkannt wird.

Normalerweise sollte Ihnen etwas auffallen: In der Tabelle ist zu sehen, dass die „Desktop“- und Server-Versionen von Windows dieselbe Versionsnummer haben. Wenn wir also die Abfrage verwenden, wird die Gruppenrichtlinie auch auf Windows Server 2008 R2-Computer angewendet. Wir müssen der Abfrage einen Parameter hinzufügen, um anzugeben, dass wir nur die „Desktop“-Version berücksichtigen möchten. Dazu fügen wir einen Filter für den Parameter hinzu undProductType legen fest, dass er den Wert 1 haben muss, um die Server-Versionen auszuschließen.

Das ergibt:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "6.1%" AND ProductType="1"
ProductType WertAuswahl
1Desktop-/Client-Version
2Server – Domänencontroller
3Server

Nachdem wir uns nun die Abfrage angesehen haben, werden wir uns damit befassen, wie man sie mit WMI-Filtern verwendet.

Einen WMI-Filter erstellen und verwenden

Einen WMI-Filter hinzufügen

1. Öffnen Sie die Gruppenrichtlinien-Verwaltungskonsole.

2. Klicken Sie auf den Ordner „WMI-Filter“ 1, der sich in der Strukturansicht auf der rechten Seite befindet.

3. An dieser Stelle finden Sie alle bisher eingegebenen WMI-Filter; ein WMI-Filter kann für mehrere Gruppenrichtlinien verwendet werden.

Wenn ein WMI-Filter zu einer Gruppenrichtlinie hinzugefügt wird, wird er auf alle Verknüpfungen angewendet.

4. Um einen neuen Filter zu erstellen, klicken Sie mit der rechten Maustaste in den mittleren Bereich und wählen Sie „Neu“ 1.

5. Benennen Sie den WMI-Filter 1 und klicken Sie anschließend auf die Schaltfläche „Hinzufügen“ 2.

6. Standardmäßig ist der Namensraum ausgewählt, derroot\CIMv2, auch derjenige ist, den Sie verwenden möchten. Geben Sie im Feld „Abfrage“ 1 die WMI-Abfrage ein, die Sie anwenden möchten, und klicken Sie auf „OK“ 2.

7. Sie sehen, dass die Abfrage hinzugefügt wurde 1. Klicken Sie auf die Schaltfläche „Speichern“ 2, um den Filter zu speichern.

8. Der WMI-Filter wird der Liste hinzugefügt.

Einen Filter zu einer Gruppenrichtlinie hinzufügen

1. Klicken Sie auf die Gruppenrichtlinie (oder den Link), auf die bzw. den Sie einen Filter anwenden möchten, und wechseln Sie zur Registerkarte „Gültigkeitsbereich“ 1.

2. Wählen Sie im Bereich „WMI-Filterung“ 1 den Filter aus der Dropdown-Liste aus 2.

3. Es erscheint eine Bestätigungsmeldung. Klicken Sie auf die Schaltfläche „Ja“ 1, um die Anwendung des Filters zu bestätigen.

4. Nach der Bestätigung ist zu sehen, dass der WMI-Filter ausgewählt ist.

Sie wissen nun, wie Sie einen WMI-Filter auf eine Gruppenrichtlinie anwenden.

Einige nützliche Abfragen

Hier sind einige Beispiele für WMI-Abfragen, die Sie verwenden könnten:

Alle Windows 10- und 11-Computer:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "10.0%" AND ProductType="1"

Alle Computer/Server, deren Name mit XXYY- beginnt

SELECT Name FROM Win32_ComputerSystem WHERE Name LIKE "XXYY-%"

Alle Windows-Server:

SELECT ProductType FROM Win32_OperatingSystem WHERE (ProductType = "2") OR (ProductType = "3")

Ziel-Editor

Es ist auch möglich, WMI-Abfragen in bestimmten Gruppenrichtlinien-Einstellungen zu verwenden, die eine Zielauswahl auf Elementebene ermöglichen.

Im Ziel-Editor kann kein WMI-Filter ausgewählt werden.


WMI-Filter sind leistungsstarke Werkzeuge, mit denen sich eine Gruppenrichtlinie ganz einfach anhand der Computereinstellungen anwenden lässt, ohne dass Gruppen erstellt oder Organisationseinheiten (OUs) geändert werden müssen – und das zudem dynamisch.

Romain Drouche
Romain Drouche
Systemarchitekt | MCSE: Kerninfrastruktur
IT-Infrastrukturexperte mit über 15 Jahren Berufserfahrung. Aktuell tätig als Projektmanager für Systeme und Netzwerke sowie als Experte für Informationssystemsicherheit (ISS), nutze ich mein Fachwissen, um die Zuverlässigkeit und Sicherheit technologischer Umgebungen zu gewährleisten.

Schreibe einen Kommentar