Passwörter regelmäßig wechseln mit der Powershell

10. Januar 2017

Je nach Unternehmensstruktur und Sicherheitsrichtlinien werden die Kennwörter für die Benutzeranmeldung  (hoffentlich) in regelmäßigen Abständen neu zugewiesen. Meistens erledigen die Mitarbeiter dies in Eigenregie. Durch die entsprechenden Gruppenrichtlinien werden die Benutzer in diesen Fällen nach einer bestimmten Zeit darauf hingewiesen, dass ein Kennwortwechsel ansteht. So kann sich jeder Benutzer „sein“ Kennwort selbst erstellen, beziehungsweise neu vergeben. Meist müssen dabei noch bestimmte Kennwortrichtlinien beachtet werden, etwa die Vorgabe dass das „neue“ Kennwort eine bestimmte Komplexität und eine gewissen Mindestzeichenanzahl aufweisen muss.

Unter bestimmten Voraussetzungen ist es allerdings nicht möglich (oder erwünscht), dass bei einer regelmäßigen Kennwortänderung jeder Benutzer „sein“ Kennwort selbst abändern muss. So kommt es oftmals vor, dass die Administratoren für mehrere Benutzer-Accounts die Passwörter regelmäßig „von Hand“ ändern. Dies lässt sich mit Hilfe der Powershell allerdings deutlich eleganter lösen. Beispielsweise könnte dafür folgendes Skript eingesetzt werden:

$OldPass = ConvertTo-SecureString –String ‚OldPassword1!‘ –AsPlainText –Force
$NewPass = ConvertTo-SecureString –String ‚NewPassword2@‘ –AsPlainText –Force
$RoomArray = (‚account1′,’account2′,’account3′,’account4′,’account5′,’account6‘)
foreach($Room in $RoomArray)
{
Write-Output „Changing password for $Room“
Set-ADAccountPassword -Identity $Room -OldPassword $OldPass -NewPassword $NewPass
}

 

John Savill / FAH

Lesen Sie auch