Active Directory Account Lockout Location
Yanlış girilen şifreler sonucu Active Directory hesapları güvenlik sebebiyle kilitleniyor. Bir diğer senaryo ise, değiştirilen eski şifrenin bir yerlerde kaydedilmiş olarak kalması sonucu hesapların kilitlenmesi. Kilitlenen hesap ile ilgili DC sunucularında 4740 numaralı event üretilip, hangi cihaz üzerinden kilitlendigi bilgisi yazılmaktadır.
Aşağıdaki script’i task schedule’a ekleyerek bu bilgiyi mail olarak alabilirsiniz. Kilitlenme tarihi, kilitlenen hesap ve nereden kitlendigi bilgisi yer almaktadır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import-module activedirectory $Event = Get-EventLog -LogName Security -InstanceId 4740 -Newest 1 $Usr = $Event.Message -split [char]13 $Kaynak = $Event.Message -split [char]13 # [#] is the line number in the output $Usr = $Usr[10] $Kaynak = $Kaynak[13] # (#) is the substring of that line $Usr = $Usr.substring(17) $Kaynak = $Kaynak.substring(24) $Usr2 = Get-ADUser $Usr | Select-Object -ExpandProperty name $Email = Get-ADUser $Usr -Properties mail $TelephoneNumber = Get-ADUser $Usr -Properties telephoneNumber | Select-Object -ExpandProperty telephoneNumber #send lockout notification to helpdesk ticketing system. $EventTime = $Event.TimeGenerated $EmailAdd = $Email.mail $MailBody= "Merhaba,<br> <br>  <b>Kilitlenme Tarihi:</b> $EventTime<br>  <b>Mail Adresi:</b> $EmailAdd<br>  <b>Dahili:</b> $TelephoneNumber<br>  <b>Kilitleyen Bilgisayar:</b> $Kaynak<br> <br> Kullanıcı hesabı ilgili cihazdan girilen yanlış parola sebebiyle kilitlenmiştir.<br> Bilgilerinize," $MailSubject= "AD Hesabı Kilitlendi:" + " " + $Usr2 $SmtpClient = New-Object system.net.mail.smtpClient $SmtpClient.host = "smtpserver" $MailMessage = New-Object system.net.mail.mailmessage $MailMessage.from = "Bilgilendirme@domain.com.tr" $MailMessage.To.add("yardimmasasi@domain.com.tr") $MailMessage.IsBodyHtml = 1 $MailMessage.Subject = $MailSubject $MailMessage.Body = $MailBody $SmtpClient.Send($MailMessage) |