User-GPO nur in einer bestimmten OU betreiben?
Hallo Leute,
ich habe da mal eine Frage bzw. wie es sich herausgestellt hat ein kleines Problem.
Ich habe eine GPO die diverse Usereinstellungen verwaltet und ein Userscript im Hintergrund beim Anmelden ausführt.
Diese GPO soll nur auf virtuellen Clients (Horizon / vSphere) ausgeführt werden nachdem sich die User dort angemeldet haben.
Meldet sich der gleiche User auf seiner physikalsichen Maschine in der Firma an, so soll diese GPO nicht ausgeführt werden.
Ich habe eine OU "Horizon" erstellt und die dynamsich erstellten virtuellen Dekstops landen automatisch in dieser OU (ist so eingestellt und verifiziert -> die Clients werden tatsächlich nach dem erstellen Seitens Horizon in diese OU geschoben).
Nun wird die GPO jedoch nicht ausgeführt. Ist sie nicht in der OU sondern in der Domänen-Ebene verknüpft (also für alle Clients dieser Domäne aktiviert), so wird sie ausgeführt.
Somit ist die Schlussfolgerung: User-GPO, auch wenn es eine reine User-GPO ist und nicht vermischt mit Computer-GPO-Elemente, können nicht per OUs gesteuert werden.
Ist meine Schlussfolgerung richtig so? Wenn nein: was mache ich falsch? Wenn doch: wie sieht dann die Lösung aus?
Also nochmal: ich brauche diverse User-Einstellungen per GPO und ein Anmeldescript in der GPO welche aber nur dann ausgeführt werden wenn der User sich an bestimmte Desktops anmeldet (Horizon-Clients, welche z.b. in einer OU zusammengefasst sind).
Ich danke schon einmal im Voraus für jegliche Unterstützung für mein Problem.
ich habe da mal eine Frage bzw. wie es sich herausgestellt hat ein kleines Problem.
Ich habe eine GPO die diverse Usereinstellungen verwaltet und ein Userscript im Hintergrund beim Anmelden ausführt.
Diese GPO soll nur auf virtuellen Clients (Horizon / vSphere) ausgeführt werden nachdem sich die User dort angemeldet haben.
Meldet sich der gleiche User auf seiner physikalsichen Maschine in der Firma an, so soll diese GPO nicht ausgeführt werden.
Ich habe eine OU "Horizon" erstellt und die dynamsich erstellten virtuellen Dekstops landen automatisch in dieser OU (ist so eingestellt und verifiziert -> die Clients werden tatsächlich nach dem erstellen Seitens Horizon in diese OU geschoben).
Nun wird die GPO jedoch nicht ausgeführt. Ist sie nicht in der OU sondern in der Domänen-Ebene verknüpft (also für alle Clients dieser Domäne aktiviert), so wird sie ausgeführt.
Somit ist die Schlussfolgerung: User-GPO, auch wenn es eine reine User-GPO ist und nicht vermischt mit Computer-GPO-Elemente, können nicht per OUs gesteuert werden.
Ist meine Schlussfolgerung richtig so? Wenn nein: was mache ich falsch? Wenn doch: wie sieht dann die Lösung aus?
Also nochmal: ich brauche diverse User-Einstellungen per GPO und ein Anmeldescript in der GPO welche aber nur dann ausgeführt werden wenn der User sich an bestimmte Desktops anmeldet (Horizon-Clients, welche z.b. in einer OU zusammengefasst sind).
Ich danke schon einmal im Voraus für jegliche Unterstützung für mein Problem.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2024771604
Url: https://administrator.de/forum/user-gpo-nur-in-einer-bestimmten-ou-betreiben-2024771604.html
Ausgedruckt am: 22.12.2024 um 12:12 Uhr
10 Kommentare
Neuester Kommentar
Moin,
Basiseinstellung bzw. Fehler.
Eine Benutzer-GPO wird nur für Benutzer ausgeführt. Sind in der OU Rechner und keine Benutzer wird diese nicht ausgeführt. Du kannst das verhalten ändern: Stichwort Loopback-Verarbeitungsmodus oder du lässt sie im Benutzerverzeichnis ausführen, erstellst aber einen WMI-Filter, der als Ergebnis nur deine Rechner aus der OU ausführt. In dem Fall ist die GPO dann der User-OU zugeordnet, wird aber durch den WMI-Filter dennoch nur auf den Clients ausgeführt, die du willst.
Gruß
Doskias
Basiseinstellung bzw. Fehler.
Eine Benutzer-GPO wird nur für Benutzer ausgeführt. Sind in der OU Rechner und keine Benutzer wird diese nicht ausgeführt. Du kannst das verhalten ändern: Stichwort Loopback-Verarbeitungsmodus oder du lässt sie im Benutzerverzeichnis ausführen, erstellst aber einen WMI-Filter, der als Ergebnis nur deine Rechner aus der OU ausführt. In dem Fall ist die GPO dann der User-OU zugeordnet, wird aber durch den WMI-Filter dennoch nur auf den Clients ausgeführt, die du willst.
Gruß
Doskias
Also ich persönlich würde auch DWWs Vorschlag folgen. Der ist einfacher, bin ich aber nicht drauf gekommen
Ja, Zielgruppenadressierung. da wählst du dann einfach aus welches Objekt gültig sein soll. also in deinem Beispiel:
Organisationseinheit Horizon
Wenn du dennoch weiter mit WMI experimentieren willst um es zu lernen:
Wenn du dich gestern schon damit beschäftigt hast:
Die Seite hier gelesen? Dort steht
Noch ein weiterer Tipp: Zielgruppenadressierung ist deutlich performanter als WMI-Filter
Ja, Zielgruppenadressierung. da wählst du dann einfach aus welches Objekt gültig sein soll. also in deinem Beispiel:
Organisationseinheit Horizon
Wenn du dennoch weiter mit WMI experimentieren willst um es zu lernen:
In der Powershell habe ich mit gwmi -Query "SELECT * FROM Win32_Group WHERE Domain = "subdomain.mycompany.local" and Name = "Horizon"' mein Filter getestet und tatsächlich listet er mir dann als Treffer die OU in einer Liste mit Caption, Domain, Name und SID. Wenn ich eine nicht existente OU bei "Name" angebe, bekomme ich nichts zurück.
Wenn du dich gestern schon damit beschäftigt hast:
Die Seite hier gelesen? Dort steht
Abfragen dürfen keine Arrays zurückgeben
Eine Einschränkung von WMI-Filtern besteht darin, dass sie keine Abfragen auswerten können, die als Ergebnis ein Array zurückliefern. Das gilt beispielsweise für die Eigenschaft MUILanguages der Klasse Win32_OperatingSystem oder für ChassisTypes in Win32_SystemEnclosure
Ohne es zu testen klingt es für mich danach, als hättest du als Ergebnis ein Array zurück bekommen, habe deine Abfrage aber jetzt nicht getestet.Eine Einschränkung von WMI-Filtern besteht darin, dass sie keine Abfragen auswerten können, die als Ergebnis ein Array zurückliefern. Das gilt beispielsweise für die Eigenschaft MUILanguages der Klasse Win32_OperatingSystem oder für ChassisTypes in Win32_SystemEnclosure
Noch ein weiterer Tipp: Zielgruppenadressierung ist deutlich performanter als WMI-Filter
Zitat von @kaineanung:
In der Powershell bekomme ich bei gleicher Abfrage ja eine Zeile zurückgeliefert. Ich hatte eher gehofft eine 0 oder 1 bzw. FALSE oder TRUE zuückgeliefert zu bekommen aber jetzt bin ich mir nicht mehr sicher wie ich diese ganze Zeile intepretieren soll? Ein Array mit einem Element würde ich dann fast sagen...
Genau, 1 Zeile kann auch ein Array sein.Welche Abfrage sollte ich dann verwenden um sicher zu gehen daß ich nur FALSE/TRUE geliefert bekomme wenn ich auf Mitgliedschaft auf OU abfrage?
Du musst nicht nur false oder true zurückbekommen. Wichtig ist, dass du nur ein Ergebnis zurück bekommst und das kein Array ist. Kommen wir gleich nochmal zu. DWWs Vorschlag wird dann gleich im Anschluss ausprobiert.
Nee, probiere es direkt aus. ist besser und einfacher. zeit zum lernen hast du, wenn deine Lösung zuverlässig läuft Ich würde natürlich jetzt schon gerne zumindest den WMI-Filter so hinbekommen daß er funktioniert und dann kann ich das andere machen damit es performanter ist und den WMI-Filter dann eben einfach nicht einsetzen.
Da kann ich dir aus dem Kopf jetzt nicht helfen. ist schon ein paar Jahre her, dass ich mit WMI-Filter exzessiven Spass hatte. Derzeit habe ich eine User-GPO (Login Skript), die nur auf Windows 10 und nicht auf Windows 8 Rechnern ausgeführt werden soll. Das sieht so aus:select * from Win32_OperatingSystem where Version like "10.%" and ProductType="1"
Ich kann dir jetzt aus dem Kopf nicht sagen was du genau abfrgen musst, aber mit:
https://www.windowspro.de/tool/statt-wmic-pc-konfiguration-mit-kostenlos ... bzw.
https://www.microsoft.com/en-us/download/details.aspx?displaylang=en& ... solltest du es ausfindig machen können.
Ansosnten könntest du mit
SELECT * FROM Win32_ComputerSystem where name = "PC-Name"