woraxor

AD Passwort Reset per Powershell

Hallo Zusammen,

ich möchte im Rahmen einer Securityprüfung die Passwörter bei uns neu vergeben lassen.
Dazu habe ich folgenden Skript angefertigt:

Import-Module ActiveDirectory
#Variablen
$Users = Get-ADUser -Filter * -SearchBase "OU=TEST,OU=TEST1,DC=Test-Test,DC=DE"  
#User Passwort never expires deaktivieren
$Users | Set-ADuser -PasswordNeverExpires:$False
#User Passwort beim nächsten Login abändern
$Users | Set-ADUser -ChangePasswordAtLogon $True

Den ersten Wert bekomme ich korrekt gesetzt, beim zweiten Wert zum ändern des Passwortes bekomme ich folgende Meldung zurück:

Set-ADUser : 'PasswordNeverExpires' for this account is set to true. The account will not be required to change the
password at next logon.

Der Wert wurde doch im ersten Schritt auf $False gesetzt?!

Viele Grüße
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 6726357296

Url: https://administrator.de/forum/ad-passwort-reset-per-powershell-6726357296.html

Ausgedruckt am: 08.07.2025 um 11:07 Uhr

3063370895
Lösung 3063370895 11.04.2023 aktualisiert um 10:16:27 Uhr
Hi, versuche es mal so:

Import-Module ActiveDirectory
#Variablen
$Users = Get-ADUser -Filter * -SearchBase "OU=TEST,OU=TEST1,DC=Test-Test,DC=DE"  
#User Passwort never expires deaktivieren und Änderung beim nächsten Login erzwingen
$Users | Set-ADuser -PasswordNeverExpires $False -ChangePasswordAtLogon $True

Hintergrund:
Dadurch dass du die beiden Eigenschaften in seperaten Befehlen änderst, kann es sein, dass du jeweils einen andern DC erreichst und die Änderung von PasswordNeverExpires noch nicht synchronisiert ist.
Woraxor
Woraxor 11.04.2023 um 10:22:42 Uhr
Perfekt!

Dickes Facepalm an mich.... daran hatte ich gerade gar nicht gedacht, Dankeschön -> Funktioniert face-smile

VG