show badPasswordTime from all DC´s

Um den Status der Falscheingabe eines Users auszulesen, gibt es das Attribut badPasswordTime.

Leider ist es in größeren Umgebungen mit mehreren DomainControllern etwas müssig, alle DC´s abzufragen.

Hierfür habe ich ein Script im Netz gefunden, das alle DC´s abfragt:

 

$dcs = Get-ADDomainController -Filter * | Select-Object name
$samAccountName = “username”
$badpwdcount = 0
$badpwdtime = New-Object System.DateTime

foreach($dc in $dcs) {
$user = Get-ADUser $samAccountName -Server $dc.name -properties badPwdCount,badPasswordTime
$badpwdcount += $user.badPwdCount

$userBadPwdTime = [datetime]::fromFileTime($user.badPasswordTime)

if($badpwdtime -lt $userBadPwdTime) {
$badpwdtime = $userBadPwdTime
}
}

if($badpwdtime -ne (New-Object System.DateTime)) {
$bptString = $badpwdtime.ToString(“dd.MM.yyyy HH:mm:ss”)
} else {
$bptString = “-”
}

Write-Host(“User: ” + $samAccountName + “- Failed logons: ” + $badpwdcount + ” – Last failed attempt: ” + $bptString)

 

 

Schreibe einen Kommentar