{"id":334,"date":"2018-10-26T11:08:23","date_gmt":"2018-10-26T10:08:23","guid":{"rendered":"https:\/\/blog.van-daag.nl\/?p=334"},"modified":"2018-10-26T11:18:08","modified_gmt":"2018-10-26T10:18:08","slug":"ad-send-mail-on-password-reset","status":"publish","type":"post","link":"https:\/\/van-daag.nl\/?p=334","title":{"rendered":"AD Send mail on password reset"},"content":{"rendered":"<p>This is based on Security Event ID\u00a04724. When this is logged on the domain controller, Task Scheduler kicks this script. And send a mail to Admin and user. And also creates a local log file who reset the password.<\/p>\n<pre class=\"lang:ps decode:true\" title=\"PW Reset.ps1\"># Created by Daag van der Meer on 12-10-2018\r\n# Blog.van-daag.nl\r\n# Powershell Send mail When account password reset is done To user and admin.\r\n# Save this also in a Log file\r\n \r\n##################\r\n## Temp location for creating HTML email\r\n##################\r\n$Report= \"c:\\Temp\\reset.html\" \r\n\r\n##################\r\n## Log location\r\n##################\r\n$log= \"C:\\Logs\\Accountreset.csv\"\r\n \r\n$HTML=@\" \r\n&lt;title&gt;Account locked out Report&lt;\/title&gt; \r\n&lt;!--mce:0--&gt; \r\n\"@ \r\n\r\n##################\r\n## Retrieve eventlog with all value\r\n##################\r\n\r\n$event = Get-EventLog -LogName Security -InstanceId 4724 -Newest 1 |\r\n Select TimeGenerated, ReplacementStrings |\r\n  % { \r\n     New-Object PSObject -Property @{ \r\n      \"Account name\" = $_.ReplacementStrings[0] \r\n      \"Account Domain\" = $_.ReplacementStrings[1] \r\n      \"Reset by\" = $_.ReplacementStrings[4] \r\n      Date = $_.TimeGenerated \r\n    } \r\n   } \r\n\r\n##################\r\n## Retrieve eventlog For filter username\r\n##################\r\n\r\n$userevent= Get-EventLog -LogName Security -InstanceId 4724 -Newest 1 | Select-Object @{n='UserName';e={$_.ReplacementStrings[0]}}\r\n$user= $userevent -replace \".*=\" -replace \"}\"\r\n\r\n##################\r\n## send mail to admin\r\n##################\r\n\r\n\r\n$event | ConvertTo-Html -Property \"Account name\",\"Account Domain\",\"Reset By\",Date -head $HTML -body  \"&lt;H2&gt; User account password is reset&lt;\/H2&gt;\"| \r\n     Out-File $Report -Append \r\n\r\n##################\r\n## Mail config admin\r\n##################\r\n\r\n$MailBody= Get-Content $Report \r\n$MailSubject= \"User password reset\" \r\n$SmtpClient = New-Object system.net.mail.smtpClient \r\n$SmtpClient.host = \"&lt;MAIL SERVER&gt;\" \r\n$MailMessage = New-Object system.net.mail.mailmessage \r\n$MailMessage.from = \"&lt;FROM MAILADRESS&gt;\" \r\n$MailMessage.To.add(\"&lt;MAILADRESS&gt;\") \r\n$MailMessage.Subject = $MailSubject \r\n$MailMessage.IsBodyHtml = 1 \r\n$MailMessage.Body = $MailBody \r\n$SmtpClient.Send($MailMessage) \r\n\r\ndel c:\\Temp\\reset.html\r\n$event | Export-Csv $log -NoTypeInformation -Append\r\n\r\n\r\n#############################\r\n### Send mail to user #######\r\n#############################\r\n\r\n$useremail = Get-ADUser $user -Properties mail | Select-Object -ExpandProperty mail\r\n$userfirstname1 = Get-ADUser $user -Properties GivenName | Select-Object GivenName\r\n$userfirstname = $userfirstname1 -replace \".*=\" -replace \"}\"\r\n$userlastsname1 = Get-ADUser $user -Properties Surname | Select-Object Surname\r\n$userlastsname = $userlastsname1 -replace \".*=\" -replace \"}\"\r\n\r\n$Pic = '&lt;ADD LOCATION FOR PICTURE IN MAIL&gt;'\r\n\r\n$att1 = new-object Net.Mail.Attachment($Pic)\r\n$att1.ContentType.MediaType = \u201cimage\/png\u201d\r\n$att1.ContentId = \u201cAttachment\u201d\r\n\r\n##################\r\n## HTML mail setup to user\r\n##################\r\n\r\n$userBody = @\"\r\n&lt;html&gt;\r\n    &lt;body&gt;\r\n    &lt;span lang=NL style='font-size:10.0pt;line-height:106%;color:black'&gt;\r\nDear $userfirstname $userlastsname,&lt;br&gt;\r\n&lt;br&gt;\r\nThe password for your &lt;b&gt;DOMAIN\\$user&lt;\/b&gt; account has been reset.&lt;br&gt;\r\nIf you did not request this, please inform:&lt;br&gt;\r\n&lt;br&gt;\r\nThis is an automated email.&lt;br&gt;\r\n&lt;br&gt;\r\n&lt;\/span&gt;\r\n&lt;img src=\"cid:Attachment\"&gt;\r\n\"@\r\n\r\n##################\r\n## Mail config user\r\n##################\r\n\r\n$userSubject = \"Your password is changed\"\r\n$userMessage = New-Object system.net.mail.mailmessage \r\n$userMessage.from = \"&lt;FROM MAILADRESS&gt;\"\r\n$userMessage.To.add(\"$useremail\")  \r\n$userMessage.Subject = $userSubject  \r\n$userMessage.IsBodyHtml = 1\r\n$userMessage.Body = $userBody \r\n\r\n\r\n$userMessage.Attachments.Add($att1)\r\n\r\n\r\n$SmtpClient.Send($userMessage)<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is based on Security Event ID\u00a04724. When this is logged on the domain controller, Task Scheduler kicks this script. And send a mail to Admin and user. And also creates a local log file who reset the password. # Created by Daag van der Meer on 12-10-2018 # Blog.van-daag.nl # Powershell Send mail When [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[34,11,1],"tags":[],"class_list":["post-334","post","type-post","status-publish","format-standard","hentry","category-active-directory","category-powershell-script","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/posts\/334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/van-daag.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=334"}],"version-history":[{"count":2,"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/posts\/334\/revisions"}],"predecessor-version":[{"id":336,"href":"https:\/\/van-daag.nl\/index.php?rest_route=\/wp\/v2\/posts\/334\/revisions\/336"}],"wp:attachment":[{"href":"https:\/\/van-daag.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/van-daag.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/van-daag.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}