kabuntel
Goto Top

Active Directory: Trotz Skript kann Benutzer nicht PW ändern

Hallo,

ich würde gerne wissen, warum ,trotz eines Skripts, dass den Haken im AD "Benutzer kann Kennwort nicht ändern", sein Passwort nicht ändern kann.

Das ist das Script:

if ($user) {
# Überprüfen, ob der Haken bereits entfernt ist
if ($user.UserCannotChangePassword) {
# Haken entfernen
Set-ADUser -Identity $user.SamAccountName -CannotChangePassword $false
Write-Host "Haken für Benutzer $($user.SamAccountName) entfernt."  
} else {
Write-Host "Haken für Benutzer $($user.SamAccountName) ist bereits entfernt."  
}
} else {
Write-Host "Benutzer $($username) nicht gefunden."  
}

Ich habe mir auch die Default Passowr dPolicy angeschaut, aber dort habe ich keine Eigenschaft gefunden, die den Haken setzt.

Content-Key: 33539108041

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

Printed on: April 13, 2024 at 12:04 o'clock

Member: kreuzberger
kreuzberger Jan 29, 2024 at 12:40:20 (UTC)
Goto Top
@Kabuntel

Der Sinn, dass ein Haken im AD "Benutzer kann Kennwort nicht ändern“ gesetzt ist besteht darin, dass nur der Admin hier Passwortänderungen vornehmen kann. Da hilft auch kein Script.

Kreuzberger
Member: erikro
erikro Jan 29, 2024 at 13:15:22 (UTC)
Goto Top
Moin,

es gibt ein Mindestalter des Passworts. Ist das noch nicht erreicht, kann der User sein PW nicht ändern. Du findest das in den Kennwortrichtlinien der DDP. Das kann man umgehen, indem man den Haken "User muss beim nächsten Anmelden das Passwort ändern" als Admin setzt. Das überschreibt das Mindestalter.

hth

Erik
Member: em-pie
em-pie Jan 29, 2024 updated at 16:15:24 (UTC)
Goto Top
Moin,

Mir stellt sich ja gerade die Frage, ob das Script überhaupt über Zeile 1 hinaus kommt.
Du prüfst ja gar nicht, ob $user überhaupt im AD existiert. Oder passiert das irgendwo weiter oben im eigentlichen Script bzw. prüfst du nur, ob die Variable, nach dem Absetzen eines Queries gegen das AD, gefüllt ist?

Ferner prüfst du nirgends ab, ob der Haken überhaupt entfernt wurde.
Das würde ich mal mit einem try... catch abfangen und prüfen.
In Zeile 6 unterstellst du, dass Zeile 5 erfolgreich gewesen ist, geprüft hast du das aber nicht...

Ich lehne mich mal aus dem Fenster und behaupte, dass der User, der das Script startet, keine Rechte im AD hat, den Haken zu verändern.
Member: jsysde
jsysde Jan 29, 2024 at 18:06:05 (UTC)
Goto Top
Moin.

Ich denke, @erikro hat ins Schwarze getroffen - wenn "minimum password age" noch nicht erreicht ist, Default ist 1 Tag, dann kann der User das Passwort nicht selbst ändern.

Cheers,
jsysde