sunnyrainyday
Goto Top

GPO-Delegation mit Powershell setzten

Hallo zusammen,

in einer GPO-Delegierung habe ich eine Gruppe erstellt die dafür sorgen soll das auf bestimmte Benutzer die GPO nicht wirken soll.
Hierzu ist es ja bekanntlich möglich unter dem Reiter "Delegierung" -> "Erweitert..." die Sicherheitseinstellungen dieser Gruppe im Detail zu Berechtigungen.
In meinen Fall wäre es "Gruppenrichtline übernehmen" -> "Verweigern"
Wie ich in Erfahrung bringen konnte, ist Set-GPPermissions nicht die Lösung da die Paramter es so nicht hergeben.
Genau das möchte ich mit PS umsetzten nur komme nicht wirklich weiter. Vielleicht suche ich auch verkehrt.

Für Tipps wäre ich sehr dankbar.


Grüße

Content-ID: 494156

Url: https://administrator.de/contentid/494156

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

emeriks
emeriks 12.09.2019 aktualisiert um 15:17:48 Uhr
Goto Top
Hi,
erster Treffer bei Kugel.

Schau mal die Lösung, ob es Dir weiterhilft.
https://social.technet.microsoft.com/Forums/windowsserver/en-US/dd09ace0 ...

E.
SunnyRainyDay
SunnyRainyDay 12.09.2019 um 15:38:40 Uhr
Goto Top
Jo danke....Kollege hatte den gleichen Artikel gefunden face-smile
Werd ich mal testen.
Danke!!
SunnyRainyDay
SunnyRainyDay 16.09.2019 um 10:34:20 Uhr
Goto Top
Hallo nochmal,

hat ganz gut funktioniert. Die Gruppe soll noch die Berechtigung "Lesen" bekommen.
Ist es möglich beim binzufügen der Gruppe für die GPO-Delegierungen mehrere Rechte parallel zu setzten?
Kenne mich noch mit den Klassen nicht aus und die Dokus sind für mich noch recht verwirrend.

Vielen Dank!
emeriks
emeriks 16.09.2019 um 10:39:10 Uhr
Goto Top
Standardmäßig sollten doch die "Authentifizierte Benutzer" schon Lese-Rechte haben. Das sollte dann reichen.
emeriks
emeriks 16.09.2019 um 10:43:12 Uhr
Goto Top
Sonst:
Dafür kannst Du dann wieder Set-GPPermission nehmen.

Set-GPPermission -Name TestGpo -TargetName "Domain Users" -TargetType Group -PermissionLevel GpoRead  
SunnyRainyDay
SunnyRainyDay 16.09.2019 um 11:05:41 Uhr
Goto Top
Das geht leider nicht. Hier wird dann die Berechtigung "Gruppenrichtlinen Anwenden" -> "Verweigern" rausgenommen und nur "Lesen" ist drin. Wird also überschrieben.
Umgekehrt beim ausführen des Skripts wird ein Objekt in den Delegirungen erzeugt, dann das "Lesen"-Recht entfernt, und fügt daraufhin "Gruppenrichtlinen Anwenden" -> "Verweigern" hinzu.

Andere Idee?
emeriks
emeriks 16.09.2019 um 11:19:31 Uhr
Goto Top
Eine Frage der Reihenfolge.
Erst das Set-GPPermission mit GpoRead für die betreffende Gruppe.
Dann die ACL bearbeiten und die Verweiger-Regel für die betreffende Gruppe setzen.

Zitat von @SunnyRainyDay:
Umgekehrt beim ausführen des Skripts wird ein Objekt in den Delegirungen erzeugt, dann das "Lesen"-Recht entfernt, und fügt daraufhin "Gruppenrichtlinen Anwenden" -> "Verweigern" hinzu.
Nein. Wie kommst Du darauf?
SunnyRainyDay
SunnyRainyDay 16.09.2019 um 12:23:22 Uhr
Goto Top
Zitat von @emeriks:

Eine Frage der Reihenfolge.
Erst das Set-GPPermission mit GpoRead für die betreffende Gruppe.
Dann die ACL bearbeiten und die Verweiger-Regel für die betreffende Gruppe setzen.

Auch der Tip ging ins leere. Hier ist des recht "Verweigert" weg und "Lesen" ist drin. Hab noch was weiter getestet. Hab eine GPO händisch in die Delegierungen mit Lesen-Recht hinzugefügt . Wenn ich nun den Befehl "New-object......." absetzte wird dieser ignoriert. Das Lesen-Recht ist immer vorhanden, Verweigern-Recht wird nicht gesetzt. Ist die Gruppe in der Delegierung nicht vorhanden und dann wird "New-Object..." ordnungemäß ausgeführt. Das Verweigern-Recht wird gesetzt, das Lesen-Recht ist aber weg. Daher klappts mit der Rheinfolge auch nicht.

Das ist wie´s bei mir aussieht.

Zitat von @SunnyRainyDay:
Umgekehrt beim ausführen des Skripts wird ein Objekt in den Delegirungen erzeugt, dann das "Lesen"-Recht entfernt, und fügt daraufhin "Gruppenrichtlinen Anwenden" -> "Verweigern" hinzu.
Nein. Wie kommst Du darauf?

naja...wenn "Authentifizierte Benutzer" grundsätzlich Lesen-Recht haben es nach den ausführen des "New-Object" das Lesen-Recht nicht mehr vorhanden ist dann könnte man schlussfolgern das es beim hinzufügen der Gruppe NUR das "Verweigern-Recht" gesetzt wird. Denn dort wird ja nur die "Eigenschaft" Deny angegeben. Von Lese-Recht ist in dem Syntax nicht Rede. Daher war ja die Frage ob es möglich ist in die New-Object Zeile auch Read-Allow-Recht hinzufügen.
Das ist so mein Denke.

Danke nochmals!
140913
140913 16.09.2019 aktualisiert um 13:11:44 Uhr
Goto Top
EInfach die zusätzliche Regel als Access Rule hinzufügen, feddich. Getestet, funktioniert wenn ich dich da richtig verstanden habe, war etwas durcheinander deine Beschreibungen und Antworten.
$gpo = Get-GPO -Name testgpo
$adgpo = [ADSI]"LDAP://CN=`{$($gpo.Id.guid)`},CN=Policies,CN=System,DC=domain,DC=tld"  

$rule_deny = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
		[System.Security.Principal.NTAccount]"DOMAIN\Gruppe",  
		"ExtendedRight",  
		"Deny",  
		[Guid]"edacfd8f-ffb3-11d1-b41d-00a0c968f939"  
)

$rule_read = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
		[System.Security.Principal.NTAccount]"DOMAIN\Gruppe",  
		"GenericRead",  
		"Allow"  
)

$acl = $adgpo.ObjectSecurity
$acl.AddAccessRule($rule_deny)
$acl.AddAccessRule($rule_read)
$adgpo.CommitChanges()
https://docs.microsoft.com/de-de/dotnet/api/system.directoryservices.act ...
emeriks
emeriks 16.09.2019 um 13:05:53 Uhr
Goto Top
Zitat von @SunnyRainyDay:
Auch der Tip ging ins leere. Hier ist des recht "Verweigert" weg und "Lesen" ist drin. Hab noch was weiter getestet. Hab eine GPO händisch in die Delegierungen mit Lesen-Recht hinzugefügt . Wenn ich nun den Befehl "New-object......." absetzte wird dieser ignoriert. Das Lesen-Recht ist immer vorhanden, Verweigern-Recht wird nicht gesetzt. Ist die Gruppe in der Delegierung nicht vorhanden und dann wird "New-Object..." ordnungemäß ausgeführt. Das Verweigern-Recht wird gesetzt, das Lesen-Recht ist aber weg. Daher klappts mit der Rheinfolge auch nicht.

Das ist wie´s bei mir aussieht.

naja...wenn "Authentifizierte Benutzer" grundsätzlich Lesen-Recht haben es nach den ausführen des "New-Object" das Lesen-Recht nicht mehr vorhanden ist dann könnte man schlussfolgern das es beim hinzufügen der Gruppe NUR das "Verweigern-Recht" gesetzt wird. Denn dort wird ja nur die "Eigenschaft" Deny angegeben. Von Lese-Recht ist in dem Syntax nicht Rede. Daher war ja die Frage ob es möglich ist in die New-Object Zeile auch Read-Allow-Recht hinzufügen.
Das ist so mein Denke.

Ich glaube, mein Sprachprozessor ist gerade abgestürzt ....

Geht es um nur eine GPO? Dann mache es doch manuell ohne PowerShell. Das geht dann viel einfacher.
Und - es funktioniert. Wenn bei Dir nicht, dann liegt es an Dir, dann machst Du was falsch.