User must change password at next logon – PowerShell
In gewissen Situationen ist es nötig den Windows-Benutzer im Active Directory (AD) das Kennwort ändern zu lassen. Hierzu gibt es im Benutzer-Objekt im AD einen Haken User must change password at next logon oder auf deutschen Systemen Benutzer muss Kennwort bei der nächster Anmeldung ändern. Das ist an sich relativ cool gelöst, wenn man allerdings mehrere Benutzer das Passwort ändern lassen möchte, kann das sehr schnell sehr aufwändig werden. Abhilfe schafft hier Windows PowerShell. Mit PowerShell lässt man die AD-User auslesen und das Attribut dem entsprechend setzen.
User must change password at next logon – Attribut mit PowerShell setzen
Damit man nicht jeden einzelnen AD User das Kennwort zurücksetzen muss, verwendet man am Besten PowerShell. Mit PowerShell kann man Gruppen, Organisationseinheiten (OU) und einzelne Benutzer auslesen und danach das Attribut zum Kennwort ändern setzen. Um das zu verdeutlichen, haben wir einige Beispiele vorbereitet. Wie oben schon erwähnt, setzt man so den Haken im Benutzer-Objekt unter Account:
- User must change password at next logon
- Benutzer muss Kennwort bei der nächster Anmeldung ändern
Ich empfehle PowerShell, da man nicht jeden Benutzer von Hand anpassen möchte.
Einzelnen AD-Benutzer
Um einen einzelnen Benutzer aufzufordern das Kennwort zu ändern, benötigt man folgenden PowerShell Befehl:
Set-ADUser -Identity <samAccountName> -ChangePasswordAtLogon $true
Als SamAccountName wird hier natürlich der Anmelde-Name des Benutzers eingetragen.
Benutzer einer bestimmten OU (Organisation Unit)
Es ist auch möglich das Attribut für alle User zu setzen, die in einer bestimmten AD OU hinterlegt sind. Hierzu nutzt man mit PowerShell die SearchBase, um die spezielle OU anzugeben.
Import-Module ActiveDirectory Get-ADUser -Filter * -SearchBase "OU=YOUROU,DC=YOUR,DC=DOMAIN" | Set-ADUser -ChangePasswordAtLogon:$True
Somit werden nur die Benutzer angepasst, die sich in der OU (Organisationseinheit) befinden.
Filter verwenden
Außerdem können hier auch noch spezielle Filter benutzt werden, um nur bestimmte User mit einer bestimmten Namensgebung anzupassen.
Import-Module ActiveDirectory Get-ADUser -Filter 'department -like "*logistic*"' | Set-ADUser -ChangePasswordAtLogon:$True
Mit den Filtern hat man ebenfalls viele Möglichkeiten die Benutzer eingrenzen zu können.
User einer speziellen AD-Gruppe
Eine häufig verwendeter Befehl ist das Auslesen einer AD-Gruppe. Auch hier ist die Vorgehensweise die gleiche. Die Benutzer werden ausgelesen und das Attribut gesetzt.
Import-Module ActiveDirectory Get-ADGroupMember -Identity "YOURGROUP" | Set-ADUser -ChangePasswordAtLogon:$True
Hier muss lediglich der Gruppen-Name angegeben werden.
So einfach ist es mit Windows PowerShell den Haken bei Benutzer muss Kennwort bei der nächster Anmeldung ändern oder auf Englischen Systemen User must change password at next logon setzen zu können.