Sicherheitsfilterung: User und Computer von GPOs ausnehmen

    Delegierung der GPO-AdministrationStandardmäßig werden Gruppenrichtlinien auf alle User und Computer in einer Domäne, Site oder OU angewandt, mit der das GPO verknüpft ist. Wenn es aufgrund dieser Zuordnung eine große Zahl von AD-Objekten anspricht, dann kann es sein, dass man bestimmte Benutzer oder Computer ausnehmen möchte. Die Sicherheitsfilterung dient diesem Zweck.

    Im Vergleich mit den Group Policy Preferences lassen sich die herkömmlichen Richtlinien nicht so fein auf bestimmte User oder Computer eingrenzen. Sie gelten für ganze Domänen, Sites oder Organisations­einheiten, also immer für ganze Container. Wenn man dort die Anwendung von GPOs einschränken möchte, dann geht dies über Sicherheits- oder WMI-Filter.

    WMI-Filter primär für Hardware-Kriterien

    Während die genauere Adressierung von GPOs mit Hilfe von WMI sich vor allem eignet, um die betroffenen Computer anhand von Hardware-Eigenschaften ein­zu­schränken, bietet die Sicherheits­filterung weitgehende Flexibilität, um beliebige Objekte ein- oder auszuschließen. Sie beruht nämlich darauf, einzelnen Konten oder Gruppen die Rechte zur Anwendung von GPOs zu gewähren bzw. zu entziehen.

    Voreinstellungen für GPO-Rechte

    Richtet man in der Gruppenrichtlinienverwaltung ein neues GPO ein, dann enthält seine Sicherheitsfilterung standardmäßig die Gruppe Authentifizierte Benutzer, die alle User und Computer der Domäne umfasst. Der Eintrag bewirkt, dass diese Gruppe die Rechte Lesen und Gruppenrichtlinie übernehmen bekommt. Sie sind die Voraussetzung dafür, dass sie ein GPO ausführen können.

    Per Voreinstellung wirkt sich ein GPO in allen verknüpften Containern auf die Gruppe Authentifizierte Benutzer aus.

    Eine Reihe weiterer Objekte ist per Voreinstellung bereits mit mehr oder weniger Rechten ausgestattet, darunter das Systemkonto, die Gruppe Domänen-Admins oder die Domänen-Controller. Sie scheinen aber in der Registerkarte Bereich nicht unter Sicherheitsfilterung auf.

    Gruppen ein- oder ausschließen

    Eine Möglichkeit für die Eingrenzung von Gruppenrichtlinien auf bestimmte Objekte besteht darin, dass man Authentifizierte Benutzer aus der Sicherheitsfilterung entfernt und gezielt jene Benutzer, Computer oder Gruppen hinzufügt, auf die das GPO zutreffen soll. Dieser Ansatz entspricht quasi einem Whitelisting.

    Häufiger wird man jedoch die umgekehrte Situation vorfinden, dass ein GPO zwar grundsätzlich auf alle Objekte eines verknüpften Containers zutreffen soll, aber dass man nur einige davon ausnehmen möchte. Diese muss man daher in die ACL der Gruppenrichtlinie aufnehmen und ihnen explizit das Recht zur Ausführung entziehen.

    Rechte für GPO entziehen

    Zu diesem Zweck wechselt man zur Registerkarte Delegierung und klickt rechts unten auf den Button Erweitert. Im folgenden Dialog Sicherheitseinstellungen für <GPO> fügt man die User, Computer oder Sicherheitsgruppen hinzu, auf die das GPO nicht angewandt werden soll. Anschließend setzt man für sie das Recht Gruppenrichtlinie übernehmen von Zulassen auf Verweigern.

    Wenn man User oder Computer von einem GPO ausnehmen will, dann muss man ihnen das Recht 'Gruppenrichtlinie übernehmen' entziehen.

    Auch wenn sich GPOs mit Hilfe der Sicherheitsfilterung genauer adressieren lassen, sollte man sie nicht zu oft nutzen. Sie erschwert die Analyse, wenn die Anwendung von GPOs nicht funktioniert wie erwartet, speziell dann, wenn man sie mit anderen Mechanismen wie Loopback Processing kombiniert.

    Keine Übersicht über verweigerte Rechte

    Das liegt auch daran, dass die Microsoft-Tools keine Übersicht bieten, aus der hervorgeht, ob die ACL eines GPO einen Verweigern-Eintrag enthält. Das gilt sowohl für die Gruppenrichtlinienverwaltung, die in diesem Fall die Berechtigungen nur mit benutzerdefiniert bezeichnet, als auch für PowerShell:

    Get-GPO -all | % {Get-GPPermissions -name $_.DisplayName -all}

    Dieser Aufruf listet unter Windows 8.x und Server 2012 sämtliche Rechte aller Objekte in den ACLs aller GPOs auf. Auch hier erhält man unter Permission nur GpoCustom, wenn ein Privileg entzogen wurde.

    7 Kommentare

    Bild von Felix
    Felix sagt:
    12. Februar 2014 - 21:22

    Hallo! Vielen Dank für die tolle Anleitung. Leider funktioniert das bei mir nicht. Folgender Fall:

    OS: Windows Server 2008 R2

    Ich habe eine GPO, die mir automatisch Netzlaufwerke verbindet und bereit stellt. Es ist eine Benutzerkonfiguration. Nun möchte ich, dass diese GPO nicht ausgeführt wird, wenn sich ein Benutzer an einem bestimmten PC (nennen wir ihn mal PC-X) anmeldet. Also genau dieser PC-X soll ausgenommen werden.

    Nun habe ich in der betreffenden GPO unter Delegation den PC-X hinzugefügt und ihm das Recht für "Gruppenrichtlinie übernehmen" entzogen, in dem ich ein Häkchen bei verweigern gesetzt habe.

    Leider funktioniert das nicht, habe den Server auch neu gestartet. Warum geht das nicht, bzw. was gibt's noch für Möglichkeiten?

    Bild von Andreas
    Andreas sagt:
    12. März 2014 - 16:34

    Wie du schon sagtest, es handelt sich um eine Benutzerkonfiguration, diese Gruppenrichtlinie ist also an Benutzer verknüpft. Dementsprechend kannst du auch nur Benutzer davon ausnehmen, sie anzuwenden, nicht jedoch Rechner.

    Bild von Felix
    Felix sagt:
    12. März 2014 - 19:19

    Ok, und welche Lösungsmöglichkeit gibt es für meinen Fall?

    Bild von Diskutierholz
    Diskutierholz sagt:
    15. April 2015 - 14:19

    Hallo... Hilfe bringt hier der WMI-Filter. Da alle PCs, außer den betroffenen, einbinden und den Filter auf die GPO setzen. Dann gilt diese Richtlinie für alle PCs außer diesen einen.

    Bild von Felix
    Felix sagt:
    15. April 2015 - 14:41

    Vielen Dank für die Antwort! Kannst du mir sagen, wie ich diesen WMI-Filter dann konfiguriere?

    Neuer WMI-Filter: Name und Beschreibung ist klar, aber wie muss die Abfrage lauten, wie soll ich diese definieren?

    Bild von Diskutierholz
    Diskutierholz sagt:
    15. April 2015 - 17:06

    Beim namspace muss das root/CIMv2 stehenbleiben. Da ich nun nicht weiß, welchen PC-Typ du ein- bzw. ausschließen willst. Um das herauszubekommen nimmst du das Tool WMI-CodeCreator und schaust dort welche Abfrage du brauchst. Das sieht dann für z.b. Windows 7-PCs so aus: select * from Win32_OperatingSystem where Caption = "Windows 7"

    Verknüpfen kannst du dann mehrere Attribute mit AND oder OR etc. Hoffe ich konnte dir weiterhelfen.

    Bild von Felix
    Felix sagt:
    16. April 2015 - 12:29

    Also ich hatte bereits mal einen WMI-Filter auf dieses GPO angewandt. Das sah so aus SELECT ProductType FROM Win32_OperatingSystem WHERE ProductType = "1".

    Damit wollte ich erreichen, dass auf alle Betriebssysteme die GPO angewandt wird, die keine Serverbetriebssysteme sind. Das hat allerdings nicht funktioniert. Das Namespace war auch root/CIMv2.

    Also ich möchte, dass die GPO lediglich nicht für mein Server 2008 R2 Betriebssystem angewandt wird, für alle anderen schon. Wie müsste dass dann richtig lauten?

    Ich danke dir schon mal für deine Mühen!