Gruppenrichtlinien: WMI-Filter für virtuelle Maschinen

    So wie es häufig die Anforderung gibt, Gruppenrichtlinien auf bestimmte Hardware (z.B. Notebooks versus Desktops) oder eine Version von Windows einzuschränken, so kann es auch der Fall sein, dass man auf Gastsysteme in virtuellen Maschinen andere GPOs anwenden möchte als auf physikalische Rechner. Dies lässt sich über WMI-Filter erreichen.

    Während Group Policy Preferences über zahlreiche Kriterien recht genau auf bestimmte Zielsysteme abgestimmt werden können (Item Level Targeting), stehen den herkömmlichen Gruppenrichtlinien dafür die WMI-Filter zur Verfügung. Über diese lassen sich zwar zahllose Informationen zu einer Windows-Installation abrufen, aber gleichzeitig liegt die Schwierigkeit darin, die geeigneten Klassen und Eigenschaften zu finden, über die sich Rechner gezielt ansprechen lassen.

    VMs über Win32_ComputerSystem identifizieren

    Im Fall von physikalischen versus virtuellen Maschinen finden sich Unterscheidungsmerkmale in den Eigenschaften Model und Manufacturer von Win32_ComputerSystem. Während sich dort bei realer Hardware der Name des Herstellers und das Modell der Hauptplatine finden, taucht bei VMs der Name der Virtualisierungssoftware und ihres Anbieters auf.

    Wenn man diese für eine VM ermittelt hat, beispielsweise mittels

    wmic path win32_computersystem get model, manufacturer

    ist es relativ einfach, diese Informationen in eine WMI-Abfrage für Gruppenrichtlinien zu übernehmen.

    Abfragen für VMware und Hyper-V

    Im Fall von VMware würde eine solche Query folgendermaßen aussehen:

    select model, manufacturer from Win32_ComputerSystem where model="VMware Virtual Platform" and manufacturer="VMware, Inc."

    Bei Hyper-V müsste man dieses Statement nur so ändern, dass für model und manufacturer die Werte Virtual Machine und Microsoft Corporation eingesetzt werden.

    Wie üblich erstellt man einen WMI-Filter mittels Gruppenrichtlinienverwaltung im dafür vorgesehenen Container in der Baumansicht einer Domäne. Bevor man ihn mit einem GPO verknüpft, empfiehlt es sich, den Filter mit Hilfe des kostenlosen WMI Filter Validator zu testen.

    1 Kommentar

    Bild von Alex
    Alex sagt:
    10. August 2015 - 14:34

    Hallo erst mal ;)

    toller artikel nur eine klitze kleine Frage noch und zwar habe ich eine Linux Maschine mit der Problemlos eine WMI Abfrage starten können mit perfekten Ergebnis: z.b. welche Prozesse laufen derzeit:

    wmic -U DOMAIN/USER%PASSW //pegasus "select caption, name, parentprocessid, processid from win32_process"

    eigenltich will ich aber die VMs die auf dem Win CLient laufen herausfinden und habe einfach den Query geändert in:

    "select model, manufacturer from Win32_ComputerSystem where model=Virtual Machine and manufacturer=Microsoft Corporation"

    Funktioniert leider nicht, was mach ich nur falsch? bzw. in welcher DB kann ich diese Einträge auf der WIN Maschine ansehen?´

    Danke vorab!