Wie man WMI-Filter zur gezielten Ansprache von Gruppenrichtlinien in Active Directory verwendet

Sie interessieren sich für WMI-Filter in Gruppenrichtlinienobjekten? Ja, die sind Gold wert, wenn Sie Richtlinien nur auf bestimmte Rechner basierend auf Betriebssystem, Hardware oder sogar Netzwerk-Subnetzen anwenden möchten. Aber ehrlich gesagt, kann man bei der WMI-Abfrage leicht Fehler machen oder sich fragen, ob der Filter überhaupt funktioniert. Das ist anfangs nicht ganz einfach, besonders wenn Sie mit WMI und der WQL-Syntax noch nicht vertraut sind. Kurz gesagt: WMI-Filter verwenden die WMI-Abfragesprache (WQL) – ähnlich wie SQL, aber für Windows-Verwaltungsinformationen –, um Bedingungen für die Anwendung von Richtlinien festzulegen. Der große Vorteil? Sie ermöglichen es Ihnen, Ihre Richtlinien präzise auszurichten, ohne Sicherheitsgruppen verwalten oder manuelle Ausnahmen festlegen zu müssen. Nur zur Info: Bei einer Konfiguration hat es auf Anhieb funktioniert, bei einer anderen waren ein paar Anpassungen nötig. Denn Windows macht es einem ja bekanntlich manchmal unnötig schwer.

Wie man WMI-Filter für Gruppenrichtlinien erstellt und testet

Erstellen Sie den WMI-Filter in der Gruppenrichtlinienverwaltungskonsole.

  • Öffnen Sie gpmc.msc – das ist die Gruppenrichtlinienverwaltungskonsole. Falls sie noch nicht geöffnet ist, drücken Sie die Eingabetaste Win + R, geben Sie den Pfad ein und drücken Sie die Eingabetaste.
  • Navigieren Sie im linken Bereich zum Abschnitt „WMI-Filter“.Erstellen Sie einen neuen Filter – klicken Sie mit der rechten Maustaste und wählen Sie „Neu“.
  • Geben Sie ihm einen aussagekräftigen Namen, z. B.„Nur Windows 10 und 11“ oder „Nur virtuelle Maschinen“.Optional: Fügen Sie eine Beschreibung hinzu, damit Sie sich später daran erinnern, wofür dieser Filter gedacht ist.
  • Klicken Sie auf „Hinzufügen“, um Ihre Abfrage zu erstellen. Sie benötigen den WMI-Namespace – üblicherweise root\CIMv2. Geben Sie anschließend Ihre WMI-Abfrage in das Feld ein. Um beispielsweise Windows 10 und 11 als Zielplattform zu verwenden, nutzen Sie Folgendes: Select * from Win32_OperatingSystem where Version like "10.%" or Version like "11.%". Die Syntax mag etwas ungewöhnlich erscheinen, aber sie steuert den Filter.
  • Speichern Sie die Einstellungen anschließend. Nun können Sie diesen Filter mit jedem Gruppenrichtlinienobjekt verknüpfen – wählen Sie einfach das Gruppenrichtlinienobjekt aus, gehen Sie zu „ Bereich“ und fügen Sie Ihren WMI-Filter unter „WMI-Filterung“ hinzu.

Warum das hilft

Diese Methode stellt sicher, dass Ihre Richtlinien nicht auf dem falschen Betriebssystem oder der falschen Hardware ausgeführt werden. Wenn Sie beispielsweise Einstellungen haben, die nur für Windows 10/11 gelten, macht es keinen Sinn, diese auf beispielsweise Windows Server anzuwenden. Bei korrekter Einrichtung erhalten nur Rechner, die diese Bedingungen erfüllen, die Richtlinie – manuelles Hantieren mit Sicherheitsgruppen entfällt.

Wann man es verwendet

Normalerweise tritt dieses Problem auf, wenn Ihre Gruppenrichtlinie nicht korrekt angewendet wird oder Sie gezielte Bereitstellungen erstellen möchten. Beispielsweise die Bereitstellung eines Firmware-Updates nur für Laptops mit 16 GB RAM oder die Übertragung einer Einstellung nur auf virtualisierte Desktops in VMware. Wenn Sie in der Ausgabe von `gpresult /r` den Status „Filterung: Verweigert (WMI-Filter)“ sehen und dies an Ihrem Filter liegt, ist dies der entscheidende Hinweis.

Testen Sie die WMI-Abfrage vor der Anwendung.

Das ist quasi Pflicht. Bevor du das Ding verknüpfst und auf das Beste hoffst, teste unbedingt, ob deine Abfrage zu deinem Rechner passt.Öffne PowerShell und führe folgenden Befehl aus:

Get-WmiObject -Namespace root\CIMv2 -Query "YOUR QUERY HERE"Die

Oder, noch besser (da Get-WmiObject in neueren PowerShell-Versionen als veraltet gilt):

Get-CimInstance -Namespace root\CIMv2 -Query "YOUR QUERY HERE"Die

Wenn Sie beispielsweise überprüfen möchten, ob auf Ihrem Computer Office 16 installiert ist, versuchen Sie Folgendes:

Get-WmiObject -Query 'Select * from Win32_Product where Name like "%Office 16%"'Die

Erhalten Sie eine Produktliste, ist Ihre Abfrage erfolgreich. Erhalten Sie keine Ergebnisse, ist der Filter hier nicht anwendbar. So vermeiden Sie unnötige Fehler – Tests helfen, unerwartete Probleme zu erkennen und zu beheben.

Beispiele für WMI-Abfragen, die Sie möglicherweise benötigen

Möchten Sie nach Betriebssystemversion filtern? Hier ist ein praktischer Tipp:

select * from Win32_OperatingSystem WHERE Version LIKE "10.%" OR Version LIKE "11.%"Die

Für Domänencontroller oder spezielle Hardware wie VMware-VMs:

SELECT Model FROM Win32_ComputerSystem WHERE Model LIKE "%VMware%"

Oder: Zielmaschinen mit mehr als 4 GB RAM:

select * from Win32_ComputerSystem where TotalPhysicalMemory >= 4200000000

Und falls Sie noch mehr entdecken möchten, ist der WMI Code Creator v1.0 ein äußerst praktisches Tool zum Durchsuchen von Klassen und Attributen. Eine gute Möglichkeit, die Syntax vor der Anwendung in Ihren Filtern zu überprüfen.

Testen Sie Ihren WMI-Filter mit PowerShell

Wenden Sie WMI-Filter niemals unüberlegt an – manchmal entsprechen sie nicht Ihren Erwartungen.Überprüfen Sie dies, indem Sie die Abfrage in PowerShell ausführen und die Informationen Ihres Rechners vergleichen. Um beispielsweise zu überprüfen, ob Sie Windows 10 verwenden, geben Sie Folgendes ein:

Get-CimInstance -Namespace root\CIMv2 -Query "select * from Win32_OperatingSystem where Version like '10.%'"Die

Wenn Ergebnisse geliefert werden, ist alles in Ordnung. Keine Ergebnisse? Dann müssen Sie Ihre Abfrage anpassen.

Profi-Tipp: Um installierte Apps oder andere Elemente zu überprüfen, ändern Sie einfach die Klasse und filtern Sie entsprechend. Beachten Sie außerdem, dass in neueren PowerShell-Versionen die Verwendung Get-WmiObjectvon `get` zugunsten von `get` schrittweise eingestellt wird Get-CimInstance. Passen Sie die Vorgehensweise daher nach Bedarf an.

Kurz gesagt: WMI-Filter sind leistungsstark, aber ihre korrekte Einrichtung kann mühsam sein. Das Testen jeder Abfrage auf einem Rechner vereinfacht die Sache erheblich – keine unbemerkten Fehler, kein Rätselraten mehr. Der Schlüssel liegt darin, die Daten zu verstehen und sie dann in eine testbare und anpassbare WMI-Abfrage zu übersetzen.

Zusammenfassung

Hoffentlich hilft dies, die Verwirrung um WMI-Filter etwas zu beseitigen. Sie sind eine praktische Möglichkeit, die Gruppenrichtlinienbereitstellung sehr detailliert zu gestalten, insbesondere wenn Sicherheitsgruppen übertrieben oder unpraktisch wären. Denken Sie daran, Ihre Abfragen vorher auf echten Rechnern zu testen – es bringt nichts, Richtlinien anzuwenden, die aufgrund eines Tipp- oder Logikfehlers nicht funktionieren. Zwar nicht hundertprozentig narrensicher, aber definitiv ein guter Schritt, um Ihre Gruppenrichtlinienkonfiguration intelligenter und zielgerichteter zu gestalten.

Zusammenfassung

  • Verwenden Sie gpmc.msc, um WMI-Filter zu erstellen und diese mit Gruppenrichtlinienobjekten (GPOs) zu verknüpfen.
  • Schreiben Sie Ihre WMI-Abfragen im folgenden Format:Select * from Class where condition
  • Testen Sie Abfragen mithilfe von PowerShell, um sicherzustellen, dass sie den erwarteten Maschinen entsprechen.
  • Wenden Sie Filter an, um den Umfang Ihrer Gruppenrichtlinie präzise festzulegen – Betriebssystem, Hardware, Netzwerk oder Software.

Hoffentlich hilft das jemandem, stundenlanges Ausprobieren zu vermeiden. WMI-Filter sind anfangs etwas knifflig, aber sobald man den Dreh raus hat, sind sie ziemlich leistungsstark. Viel Erfolg und viel Spaß beim Anpassen der Gruppenrichtlinien!