daswombat1993
Goto Top

WMI-Filter Syntax

Hallo Liebe Administratoren,

Ich habe ein Problem mit einem WMI-Filter.

Der Filter wird auf eine Gruppenrichlinie angewendet welche eine .bat Datei ausführt und auf Benutzerebene arbeitet.
Diese Richtlinie wird bei allen Benutzern / Rechner angewandt.

Ich möchte ich einen Benutzer / Rechner von der Richlinie ausnehmen
und habe es mit dem entziehen der berechtigung versucht, leider ohne Erfolg.

Nun möchte ich versuchen den Entsprechenden PC in meinen WMI Filter einzutragen.
Dieser sieht wie folgt aus:

SELECT * FROM Win32_ComputerSystem WHERE Name LIKE 'P1%' OR Name LIKE 'L1%'

Damit werden alle "P"Cs und alle "L"aptops angesprochen. Der Filter funktioniert wie gewünscht. Geräte mit anderen Namen werden von der Richlinie nicht beeinflusst.

Nun zu meiner Frage:

Ist es möglich das Gerät auf welches die Richlinie nicht angewandt werden soll in den WMI-Filter einzutragen?

Also z.B:

SELECT * FROM Win32_ComputerSystem WHERE Name LIKE 'P1%' OR Name LIKE 'L1%' AND not Name LIKE 'P10183'

Danke!

Content-ID: 317047

Url: https://administrator.de/forum/wmi-filter-syntax-317047.html

Ausgedruckt am: 22.12.2024 um 22:12 Uhr

emeriks
Lösung emeriks 06.10.2016 um 16:08:02 Uhr
Goto Top
Hi,
etwa so:

SELECT * FROM Win32_ComputerSystem WHERE (Name LIKE 'P1%' OR Name LIKE 'L1%') AND Name <> 'P10183'   

E.
DasWombat1993
DasWombat1993 06.10.2016 um 16:18:49 Uhr
Goto Top
Danke!
Das scheint zu funktionieren.

Wie würde das ganze aussehen wenn ich mehr als einen Rechner zu den Ausnahmen hinzufügen möchte?
131026
Lösung 131026 06.10.2016 aktualisiert um 16:26:32 Uhr
Goto Top
Na einfach mit AND verknüpfen face-smile
SELECT * FROM Win32_ComputerSystem WHERE (Name LIKE 'P1%' OR Name LIKE 'L1%') AND (Name <> 'P10183' AND Name <> 'P10184' AND Name <> 'P10185')  
Du solltest mit WMI FIltern aber sparsam sein denn diese kosten erheblich Zeit beim Login. Arbeite stattdessen mit der Sicherheitsfilterung.

R.
DasWombat1993
DasWombat1993 06.10.2016 um 16:33:13 Uhr
Goto Top
Danke! So klappts.

Wegen der Sicherheisfilterung:

Das habe ich bereits versucht, doch leider ohne erfolg.

Richlinie => Delegierung => Hinzufügen => Erwitert => Gruppenrichtlinie übernehmen "verweigert"

müsste so stimmen, oder übersehe ich etwas?
emeriks
emeriks 06.10.2016 um 16:44:10 Uhr
Goto Top
müsste so stimmen, oder übersehe ich etwas?
Sicherheitsfilterung ist in diesem Fall nicht zielführend. Wenn ich es richtig verstanden habe, soll hier eine GPO mit Benutzereinstellungen abhängig vom Computer angewendet werden oder nicht. Das kann man nur über WMI-Filter (sei es nun die klassischen Filter oder die in der Zielgruppenaddressierung bei den GPP) oder über Loopback-Verarbeitung erreichen. WMI-Filter kosten Zeit. Loopback-Verarbeitung muss (zunächst vom Admin verstanden worden sein und dann) nach einem "sauberen" Konzept implementiert werden.
DasWombat1993
DasWombat1993 06.10.2016 um 16:59:21 Uhr
Goto Top
Nicht ganz, die Gruppenrichtlinie könnte auch auf Benuzerebene gesperrt werden.
Ich würde damit zu selbe Ergebnis kommen da der Entsprechende PC immer vom selben Benutzer verwendet wird.

Nochmal: Ich möchte das die Richtlinie auf einem Rechner mit dem Namen "P10013" NICHT angewandt wird.

Folgender Filter arbeit nun wie gewünscht:

SELECT * FROM Win32_ComputerSystem WHERE (Name LIKE 'P1%' OR Name LIKE 'L1%') AND NOT Name <> 'P10013'

Doch wenn es eine Möglichkeit auf Benutzerebene (Ohne Filter) gibt würde mich das auch sehr freuen.
Leider hat folgendes nicht funktioniert:

Richlinie => Delegierung => Hinzufügen (gewünschter user) => Erwitert => Gruppenrichtlinie übernehmen "verweigert"
131026
131026 06.10.2016 aktualisiert um 17:16:52 Uhr
Goto Top
Richlinie => Delegierung => Hinzufügen (gewünschter user)
Hä? Ich dachte du willst für einen Computer das diese nicht übernommen wird wenn es Computersettings sind, denn du schreibst:
Nochmal: Ich möchte das die Richtlinie auf einem Rechner mit dem Namen "P10013" NICHT angewandt wird.
Also muss du dem Computer-Objekt das Lesen verweigern nicht einem Userobjekt ...
emeriks
Lösung emeriks 06.10.2016 um 17:20:23 Uhr
Goto Top
Deine Aussagen widersprechen sich dann aber. Bzw. Deine Herangehensweise.
Wenn Du davon ausgehst, dass sich ein Benutzer zu 99,99% immer nur an ein und demselben Client anmeldet, dann willst Du doch tatsächlich diese GPO nicht per Client filtern sondern defacto per User. Dann tu es doch einfach.
  1. Nimm den WMI-Filter raus,
  2. entferne die standardmäßig enthaltenenen "Autentifizierte Benutzer" aus der Sicherheitsfilterung
  3. und füge statt dessen die betreffenden Benutzer bzw. (viel besser!) die betreffenden Benutzergruppen hinzu. Nichts weiter.

Man kann es auch über Verweigerungen machen, aber das kann ich GPO-Anfängern (Du bist offensichtlich einer) nicht empfehlen.
emeriks
emeriks 06.10.2016 um 17:21:21 Uhr
Goto Top
Also muss du dem Computer-Objekt das Lesen verweigern nicht einem Userobjekt ...
Nein, er will doch eine GPO mit Benutzereinstellungen verteilen, bloß eben abhängig vom Computer.
DasWombat1993
DasWombat1993 07.10.2016 um 14:28:23 Uhr
Goto Top
Zitat von @emeriks:

Deine Aussagen widersprechen sich dann aber. Bzw. Deine Herangehensweise.
Wenn Du davon ausgehst, dass sich ein Benutzer zu 99,99% immer nur an ein und demselben Client anmeldet, dann willst Du doch tatsächlich diese GPO nicht per Client filtern sondern defacto per User. Dann tu es doch einfach.

Genau, für mich ist es in diesem Fall egal ob ich per Client oder per User filtere.

# Nimm den WMI-Filter raus,
  1. entferne die standardmäßig enthaltenenen "Autentifizierte Benutzer" aus der Sicherheitsfilterung
  2. und füge statt dessen die betreffenden Benutzer bzw. (viel besser!) die betreffenden Benutzergruppen hinzu. Nichts weiter.

Danke!
So werde ich es nun Testen.