Windows 2012 R2 计划任务发送邮件

本文介绍如何在Windows Server 2012 R2域控制器上配置账户锁定邮件通知。通过使用wevtutil导出账户锁定的日志,并利用Powershell脚本实现自动发送邮件通知。


    这两天把域控制器升级到了2012 R2,忽然发现原本用的系统自动发邮件提示用户账户锁定的计划任务配置起来有点麻烦了。原因是微软把自动发送邮件和提示消息的功能从计划任务中去除了。

首先用wevtutil导出日志中账户锁定的信息,保存成TXT文档,稍后用命令把它作为附件发出去。
wevtutil.exe qe Security "/q:*[System [(EventID=4740)]]" /f:text /rd:true /c:1 > c:\evt\accountlocked.txt
接下去,我在脚本中心找到这个脚本,稍微修改一下就可以用powershell命令发送带附件的邮件。
https://gallery.technet.microsoft.com/scriptcenter/Send-HTML-Email-Powershell-6653235c

###############################################################################

###########Define Variables########

$fromaddress= "server@yourdomain.com"

$toaddress= "alert@yourdomain.com"

#$bccaddress = "Vikas.sukhija@labtest.com"

#$CCaddress = "Mahesh.Sharma@labtest.com"

$Subject= "Account Lock out"

#$body = get-content .\content.htm

$attachment= "C:\evt\accountlocked.txt"

$smtpserver= "SMTPSERVER"

####################################

$message= new-object System.Net.Mail.MailMessage

$message.From= $fromaddress

$message.To.Add($toaddress)

#$message.CC.Add($CCaddress)

#$message.Bcc.Add($bccaddress)

$message.IsBodyHtml= $True

$message.Subject= $Subject

$attach= new-object Net.Mail.Attachment($attachment)

$message.Attachments.Add($attach)

#$message.body = $body

$smtp= new-object Net.Mail.SmtpClient($smtpserver)

$smtp.Send($message)

#################################################################################

在计划任务中添加第二个程序,来运行powershell脚本。先运行powershell,把脚本文件作为参数天骄在后面。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
-command "& 'C:\evtlog\sendmail.ps1'"

配置截图入下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值