Dass sich Benutzer bei der Anmeldung in Windows einmal vertippen und ein falsches Kennwort eingeben, kommt täglich vor. Letztens kam es aber vor, dass ein Benutzerkonto immer wieder gesperrt wurde, obwohl der betreffende Mitarbeiter bereits angemeldet war und gearbeitet hatte. Hier konnte mir ein Powershell-Skript bei der Fehlersuche behilflich sein.
Benutzer mit fehlgeschlagenen Anmeldeversuchen auflisten
Vor einiger Zeit hatte ich bereits ein Powershellskript erstellt, dass mir die Anzahl der fehlgeschlagenen Anmeldungen von Benutzern im Active Directory anzeigt. Mit Hilfe dieses Skriptes konnte ich im genannten Fall erkennen, dass das Benutzerkonto automatisch gesperrt wurde, weil (im Hintergrund) permanent eine Anmeldung mit dem falschen Passwort stattgefunden hat.
Das Skript liest zunächst die AD-Benutzer ein. Genauer gesagt, die Eigenschaften LastBadPasswordAttempt, badPwdCount und LockedOut. Also den Zeitpunkt des letzten fehlerhaften Logins, die Anzahl der fehlgeschlagenen Anmeldeversuche sowie den „Gesperrt“-Status (ja/nein). Anschließend filtere ich die Benutzer heraus, die keinen fehlerhaften Anmeldeversuch haben. Außerdem werden deaktivierte Konten ausgeschlossen.
Damit gebe ich dann nur die Benutzerkonten aus, die einerseits im Active Directory aktiviert sind und die mindestens einen fehlerhaften Loginversuch hatten. Ich sehe den letzten Loginversuch, die Anzahl der bereits versuchten Logins und ob das Benutzerkonto bereits gesperrt wurde.

Hier das dazugehörige Powershell-Skript:
Import-Module ActiveDirectory
# Lese alle Benutzer aus
$users = Get-ADUser -Filter * -Properties SamAccountName, LastBadPasswordAttempt, badPwdCount, LockedOut
# Filter: Benutzer mit fehlgeschlagenen Anmeldeversuchen > 0 und Status "Enabled"
$failedLogons = $users | Where-Object { $_.badPwdCount -gt 0 -and $_.Enabled } |
Select-Object SamAccountName, Surname, GivenName, LastBadPasswordAttempt, badPwdCount, LockedOut
# Sortiere nach Zeitpunkt des letzten fehlgeschlagenen Versuchs (absteigend)
$failedLogons | Sort-Object LastBadPasswordAttempt -Descending |
Format-Table Surname, GivenName, SamAccountName, LastBadPasswordAttempt, badPwdCount, LockedOut -AutoSize
Im vorliegenden Fall, konnte ich durch das Skript erkennen, dass sich das Konto aufgrund zu vieler fehlgeschlagener Anmeldungen deaktiviert hatte. Der Benutzer hatte sein Kennwort den Tag zuvor geändert und zudem auf einem Terminalserver unter dem alten Kennwort noch eine aktive Session laufen.
Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.
Hinterlasse einen Kommentar