Alle Benutzer innerhalb/unterhalb einer OU umstellen, sodass das Passwort nicht abläuft/ password never expires

The estimated reading time 2 minutes

Für eine Migration in eine neue Domäne war es erfoderlich, dass alle Benutzer das Passwort für eine gewisse Zeit nicht ändern müssen.

Ich habe mir dazu einen kleinen Powershell Befehl zusammengebaut um dies zu erreichen.

Vorab der Befehl lautet folgendermaßen und kann auf einem DC ausgeführt werden:

Get-ADUser -SearchBase "OU=DEMO,DC=demo01,DC=it-koehler,DC=com" -Filter "*" | where {$_.enabled -eq "true"} | Set-ADUser -PasswordNeverExpires:$true

Zum ersten Teil des Befehls:

Get-ADUser -SearchBase “OU=DEMO,DC=demo01,DC=it-koehler,DC=com” -Filter “*”

Hier werden alle Benutzer in dieser und auch in darunterliegenden OUs ausgelesen.

Als SearchBase dient hier der Distinguished Name der OU welcher auch über die AD-Gui ausgelesen werden kann

AD-never-expirePW01

 

Hinweis: sollte der Reiter nicht sichtbar sein, muss unter “Ansicht” -> “Erweiterte Features” aktiviert werden

AD-never-expirePW02

Der Befehl kann dann einfach innerhalb der Powershell (wichtig: ADModul muss geladen sein, kann über den Servermanager gestartet werden) ausgeführt werden

AD-never-expirePW03nach dem Laden des Moduls (funktioniert automatisch) sollte der Befehl ausführbar sein

AD-never-expirePW04

Es lässt sich erkennen, dass nun alle Benutzer ausgelesen wurden

 

Der Zweite Teil des Befehls: 

| where {$_.enabled -eq “true”}

Mit dieser Erweiterung wird das Ergebnis nochmals gefiltert auf nur aktive Accounts (keine deaktivierte Accounts (User01 ist deaktiviert)-> kann aber auch weggelassen werden, da dies nur ein Beispiel ist

AD-never-expirePW05

zum letzten Teil des Befehls

Um nun das Ergbnis (also alle zurückgelieferten Benutzer) anzupassen hänge ich den Set-ADUser Befehl an

| Set-ADUser -PasswordNeverExpires:$true

Um das vorab zu testen, lässt sich auch hinter dem Set-AD User noch ein -whatif anhängen. Die Ausgabe zeigt, dann die Objekte an, die geändert werden würden

Get-ADUser -SearchBase "OU=DEMO,DC=demo01,DC=it-koehler,DC=com" -Filter "*" | where {$_.enabled -eq "true"} | Set-ADUser -PasswordNeverExpires:$true -WhatIf

AD-never-expirePW06

 

Um nun die Änderung durchzuführen einfach -whatif entfernen und bestätigen

Es wird dann keine Ausgabe gemacht, somit hat der Befehl funktioniert.

Selbstverständlich, lassen sich mit dieser Methode auch andere Optionen innerhalb des Benutzers setzen  (z.B. alle Benutzer in einer OU müssen das Passwort bei der nächsten Anmeldung ändern = –ChangePasswordAtLogon:$true)

Auch das Gegenteil lässt sich machen (also alle Passwörter laufen aus) = Set-ADUser -PasswordNeverExpires:$false

Hier noch Link zu den Befehlsparamtern für Set-ADUser

https://technet.microsoft.com/de-de/library/ee617215.aspx

Viel Spaß beim Probieren.

Print Friendly, PDF & Email
Was this article helpful?
YesNo
0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments