PowerShell - ACL für AD-Objekt ändern
Hi,
ich sehe wahrscheinlich gerade den Wald vor lauter Bäumen nicht.
Ich habe von einem AD-Objekt die ACL ausgelesen. Eine der ACEs diesr ACL lautet
Jetzt versuche ich, den ACL anderer AD-Objekte die gleiche ACE hinzuzufügen. Geht nicht.
(Mir ist klar, dass ich direkt die ausgelesene ACE weiterverwenden könnte. Will ich aber nicht. Weil ich das auch für "nackte" AD's anwenden will, also solchen, wo ich nicht davon ausgehen kann, dass es eine solche ACE schon gibt, welche ich auslesen könnte.)
Es scheitert schon beim Erstellen des ACE-Objekts. (ActiveDirectoryAccessRule)
Hier behauptet PS mit konstanter Bosheit, dass es keinen Konstruktor mit 6 Argumenten geben würde.
Laut Microsoft-Doku gibt es diesen aber sehrwohl!
ActiveDirectoryAccessRule Konstruktoren
Was übersehe ich? Bäume?
E.
ich sehe wahrscheinlich gerade den Wald vor lauter Bäumen nicht.
Ich habe von einem AD-Objekt die ACL ausgelesen. Eine der ACEs diesr ACL lautet
ActiveDirectoryRights : ReadProperty, GenericExecute
InheritanceType : All
ObjectType : 00000000-0000-0000-0000-000000000000
InheritedObjectType : 00000000-0000-0000-0000-000000000000
ObjectFlags : None
AccessControlType : Allow
IdentityReference : DOMAIN\GROUPNAME
IsInherited : False
InheritanceFlags : ContainerInherit
PropagationFlags : None
Jetzt versuche ich, den ACL anderer AD-Objekte die gleiche ACE hinzuzufügen. Geht nicht.
(Mir ist klar, dass ich direkt die ausgelesene ACE weiterverwenden könnte. Will ich aber nicht. Weil ich das auch für "nackte" AD's anwenden will, also solchen, wo ich nicht davon ausgehen kann, dass es eine solche ACE schon gibt, welche ich auslesen könnte.)
Es scheitert schon beim Erstellen des ACE-Objekts. (ActiveDirectoryAccessRule)
$ReadProperty_GenericExecute = 131092
$Allow = 0
$All = 1
$Null_GUID = [GUID]"00000000-0000-0000-0000-000000000000"
$Groupname = "GROUPNAME"
$GroupSID = (Get-ADgroup $Groupname -Properties ObjectSID).ObjectSID.Value
$ACE1 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($GroupSID, $ReadProperty_GenericExecute, $Allow, $Null_GUID, $All, $Null_GUID)
Hier behauptet PS mit konstanter Bosheit, dass es keinen Konstruktor mit 6 Argumenten geben würde.
New-Object : Für "ActiveDirectoryAccessRule" und die folgende Argumenteanzahl kann keine Überladung gefunden werden: "6".
In Zeile:3 Zeichen:9
+ $ACE1 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule ...
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
Laut Microsoft-Doku gibt es diesen aber sehrwohl!
ActiveDirectoryAccessRule Konstruktoren
Was übersehe ich? Bäume?
E.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3286379937
Url: https://administrator.de/forum/powershell-acl-fuer-ad-objekt-aendern-3286379937.html
Ausgedruckt am: 31.03.2025 um 14:03 Uhr
2 Kommentare
Neuester Kommentar