在Windows Server 2012的Task Scheduler里面配置自动发送邮件
2015-04-02 14:45
645 查看
最近在一台server上配置了每个周末备份数据库的定时任务,想顺手配置发送备份完成的邮件提醒我去Double Check一下备份结果。
悲剧地发现Send an email功能被新版的server给禁掉了。
只好另辟蹊径,想到通过PowerShell脚本来发送也行,找到一个脚本:
原文引自:Send HTML Email and attachment Powershell
然后,在Task Scheduler的任务里面,最后的位置添加一个Action,设置如下:
Program: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Arguments: -command "& 'C:\SendEmailScript\SendMail.ps1'"
调试运行时发现还是有问题,在PowerShell里面运行,发现有错误日志:
xxx.ps1 cannot be loaded because the execution of scripts is disabled on this system.
原来Windows 2012 Server 默认是关闭脚本执行的,需要自己手动打开:
1. 以管理员身份运行PowerShell。
2. 检查当前状态:输入 Get-ExecutionPolicy ,回车。 显示: Restricted 。
3. 修改状态:输入 Set-ExecutionPolicy Unrestricted 。
4. 再次输入 Get-ExecutionPolicy 检查状态应该显示 Unrestricted。
好了,至此,解决了!
悲剧地发现Send an email功能被新版的server给禁掉了。
只好另辟蹊径,想到通过PowerShell脚本来发送也行,找到一个脚本:
############################################################################### ###########Define Variables######## $fromaddress = "donotreply@labtest.com" $toaddress = "Aishwarya.Rawat@labtest.com" $bccaddress = "Vikas.sukhija@labtest.com" $CCaddress = "Mahesh.Sharma@labtest.com" $Subject = "ACtion Required" $body = get-content .\content.htm $attachment = "C:\sendemail\test.txt" $smtpserver = "smtp.labtest.com" #################################### $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) #################################################################################
原文引自:Send HTML Email and attachment Powershell
然后,在Task Scheduler的任务里面,最后的位置添加一个Action,设置如下:
Program: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Arguments: -command "& 'C:\SendEmailScript\SendMail.ps1'"
调试运行时发现还是有问题,在PowerShell里面运行,发现有错误日志:
xxx.ps1 cannot be loaded because the execution of scripts is disabled on this system.
原来Windows 2012 Server 默认是关闭脚本执行的,需要自己手动打开:
1. 以管理员身份运行PowerShell。
2. 检查当前状态:输入 Get-ExecutionPolicy ,回车。 显示: Restricted 。
3. 修改状态:输入 Set-ExecutionPolicy Unrestricted 。
4. 再次输入 Get-ExecutionPolicy 检查状态应该显示 Unrestricted。
好了,至此,解决了!
相关文章推荐
- Ubuntu下配置SVN自动发送邮件通知
- TD邮件自动发送配置步骤
- 如何配置禅道管理自动发送通知邮件
- Windows Server 2008 R2 配置Exchange 2010邮件服务器并使用EWS发送邮件
- SharePoint 发送邮件之 Windows 2012 配置SMTP服务器及测试代码
- Ubuntu下配置SVN自动发送邮件通知
- 禅道自动发送邮件配置(转)
- 如何配置禅道管理自动发送通知邮件
- Windows Server 2012 R2 WSUS-8:配置自动审批规则
- Kettle配置自动发送邮件并在数据库中记录运行日志
- 邮件自动发送配置详细步骤及注意重点
- 如何配置禅道管理自动发送通知邮件
- 如何配置Subversion自动发送邮件
- Ubuntu Linux自动发邮件配置及邮件发送脚本
- Linux配置自动发送邮件
- test director 邮件自动发送配置
- Quality Center自动发送邮件配置
- Windows Server 2012 R2 文件服务器安装与配置06 之规则触发邮件报警通知
- Windows Server 2008 64位如何配置Jmail发送邮件
- jenkins配置自动发送邮件服务