mitnick
Goto Top

Security Attribut ändern mit PS

Hallo zusammen, ich würde gerne das Security-Attribut Change Passwort, für User in der AD, mit PowerShell ändern. Soweit klappt das auch ganz gut, aber die Nutzer, bei denen das Attribut schon vorher gesetzt wurde, bekommen es wieder entzogen. Ich hoffe, ihr habt eine Idee. lg

Content-Key: 7691681584

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

Printed on: April 29, 2024 at 09:04 o'clock

Member: Pjordorf
Pjordorf Jun 29, 2023 at 21:36:31 (UTC)
Goto Top
Hallo,

Zitat von @mitnick:
Ich hoffe, ihr habt eine Idee.
Ääähhh, nicht wirklich. Aber ich hab dich und dein Problem auch nicht wirklich Verstanden oder was du jetzt tatsächlich willst...

Gruß,
Peter
Member: mitnick
mitnick Jun 30, 2023 at 05:40:35 (UTC)
Goto Top
Guten Morgen, ich möchte dieses Attribut mit einem Skript setzen. Dies gelingt mir auch, nur ist danach das Attribut, bei denen es vor dem Durchlauf gesetzt war, wieder weg...und die Nutzer, die es nicht hatten, haben es...
unbenannt
Mitglied: 6376382705
6376382705 Jun 30, 2023 at 06:13:58 (UTC)
Goto Top
Scheint als würde eine default gpo das wieder zurücksetzen?
Schau mal welche GPOs angezogen werden und was die bewirken.

Wäre jetzt so meine erste Idee.

Gruß
Member: Kraemer
Kraemer Jun 30, 2023 at 06:42:06 (UTC)
Goto Top
Zitat von @mitnick:

Guten Morgen, ich möchte dieses Attribut mit einem Skript setzen. Dies gelingt mir auch, nur ist danach das Attribut, bei denen es vor dem Durchlauf gesetzt war, wieder weg...und die Nutzer, die es nicht hatten, haben es...

dann zeige mal dein Skript. Da wird nen simpler Fehler drin sein.
Mitglied: 7426148943
7426148943 Jun 30, 2023 updated at 09:52:38 (UTC)
Goto Top
Solche Rechte delegiert man ja auch nicht an einzelne User sondern effektiverweise an eine Gruppe in welchen die User Mitglied sind. Dann muss man nicht jedes mal neu Rechte delegieren sondern schmeißt die User dafür nur in die berechtigte Gruppe, feddisch.

Zum Setzen der Berechtigung reicht das Hinzufügen einer
activedirectoryaccessrule mit PS, so lange man damit keine Regel entfernt oder ein Deny setzt geschieht das Entfernen nicht von selbst.

Beispiel wie man das Kennwort zurücksetzen Recht für eine Liste von Benutzern auf eine OU delegiert:
Import-Module ActiveDirectory
# OU to delegate permissions to
$OU = "OU=MeineOU,DC=domain,DC=de"  
# get acl from ad object
$acl = Get-ACL "AD:$OU"  
# for each user in list 
foreach($user in "MaxMuster","MonaMusterfrau"){  
    # add access rule to allow the user password reset for descendant user objects in the above OU
    $acl.AddAccessRule([System.DirectoryServices.ActiveDirectoryAccessRule]::new([System.Security.Principal.NTAccount]$user,"ExtendedRight","Allow",'00299570-246d-11d0-a768-00aa006e0529',"Descendents",'bf967aba-0de6-11d0-a285-00aa003049e2'))  
}
# write back acl
Set-ACL "AD:$OU" $acl  
Das funktioniert auch bei mehrmaligen aufrufen, die Berechtigung für den User wird dann einfach überschrieben wenn sie bereits vorhanden ist.
Aber wie gesagt das einmalige Berechtigen einer Gruppe und Hinzufügen der User zu dieser Gruppe ist Best Practice.

Import-Module ActiveDirectory
# OU to delegate permissions to
$OU = "OU=MeineOU,DC=domain,DC=de"  
# Group to assign rights
$GROUP = "MeineGruppe"  
# get acl from ad object
$acl = Get-ACL "AD:$OU"  
# add group to acl if not already existing
if (!($acl.Access | ?{$_.IdentityReference.Value.split("\")[-1] -eq $GROUP -and $_.ObjectType -eq '00299570-246d-11d0-a768-00aa006e0529'})){  
    # add access rule to allow the group members password reset for descendant user objects in the above OU
    $acl.AddAccessRule([System.DirectoryServices.ActiveDirectoryAccessRule]::new([System.Security.Principal.NTAccount]$GROUP,"ExtendedRight","Allow",'00299570-246d-11d0-a768-00aa006e0529',"Descendents",'bf967aba-0de6-11d0-a285-00aa003049e2'))  
    # write back acl
    Set-ACL "AD:$OU" $acl  
}
# Add Group members
Add-ADGroupMember $GROUP -Members "User1","User2"  

Auch zu beachten gilt es den ADMINSDHolder Mechanismus

Zeppel
Member: mitnick
mitnick Jul 03, 2023 at 12:18:04 (UTC)
Goto Top
Vielen Dank, ich werde es dann mal testen face-smile