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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7691681584
Url: https://administrator.de/forum/security-attribut-aendern-mit-ps-7691681584.html
Ausgedruckt am: 22.12.2024 um 22:12 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
Ääähhh, nicht wirklich. Aber ich hab dich und dein Problem auch nicht wirklich Verstanden oder was du jetzt tatsächlich willst...
Gruß,
Peter
Ääähhh, nicht wirklich. Aber ich hab dich und dein Problem auch nicht wirklich Verstanden oder was du jetzt tatsächlich willst...
Gruß,
Peter
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ß
Schau mal welche GPOs angezogen werden und was die bewirken.
Wäre jetzt so meine erste Idee.
Gruß
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...
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.
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:
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.
Auch zu beachten gilt es den ADMINSDHolder Mechanismus
Zeppel
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
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