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 passwort at next logon PowerShell

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.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments