PowerShell发送每日成功投递邮件报告
2017-11-24 11:58
267 查看
每个Exchange管理员都会遇到监控每天的邮件队列的需求:每天发送了多少邮件,收到了多少邮件,又有多少邮件被策略和反垃圾拦截掉了,而每次在Exchange Management Shell窗口中查询又不便展示,为了每天能够更好的监控投递的邮件,这里写了一个 邮件投递报告的脚本,算是抛砖引玉
#添加Exchange管理单元
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
#定义管理凭据
$Password = "12345678" | ConvertTo-SecureString -asPlainText -Force
$Username = "Domain\User"
$Credential = New-Object System.Management.Automation.PSCredential($username,$password)
#定义生成的CSV路径
$File = "C:\Scripts\Exchange\$(Get-Date -Format 'yyyy-MM-dd').csv"
#筛选前一天0点到今天0点的投递日志并存入Deliver变量
$Deliver = Get-MailboxServer | Get-MessageTrackingLog -Start (Get-Date).Date.AddDays(-1) -End (Get-Date).Date -EventId Deliver -ResultSize unlimited
#选择特定属性并按照主题排序,并输出到CSV
$Deliver | Select-Object Source,Sender,{$_.Recipients},MessageSubject | Sort-Object MessageSubject -Descending | Export-Csv -Path $File -NoClobber -NoTypeInformation -Encoding UTF8
#发送邮件报告
Send-MailMessage -From User@domain.com -To User2@domain.com -SmtpServer mail.domain.com -Credential $Credential -Subject "Exchange Daily Tracking Log" -Attachments $File
#移除CSV文件
Remove-Item $File
#添加Exchange管理单元
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
#定义管理凭据
$Password = "12345678" | ConvertTo-SecureString -asPlainText -Force
$Username = "Domain\User"
$Credential = New-Object System.Management.Automation.PSCredential($username,$password)
#定义生成的CSV路径
$File = "C:\Scripts\Exchange\$(Get-Date -Format 'yyyy-MM-dd').csv"
#筛选前一天0点到今天0点的投递日志并存入Deliver变量
$Deliver = Get-MailboxServer | Get-MessageTrackingLog -Start (Get-Date).Date.AddDays(-1) -End (Get-Date).Date -EventId Deliver -ResultSize unlimited
#选择特定属性并按照主题排序,并输出到CSV
$Deliver | Select-Object Source,Sender,{$_.Recipients},MessageSubject | Sort-Object MessageSubject -Descending | Export-Csv -Path $File -NoClobber -NoTypeInformation -Encoding UTF8
#发送邮件报告
Send-MailMessage -From User@domain.com -To User2@domain.com -SmtpServer mail.domain.com -Credential $Credential -Subject "Exchange Daily Tracking Log" -Attachments $File
#移除CSV文件
Remove-Item $File
相关文章推荐
- 用PowerShell收集服务器日检报告,并发送邮件
- 使用.net(C#)发送邮件学习手册(带成功案例)
- 通过ANT实现jmeter批量执行脚本、生成报告、发送邮件全套build.xml文件
- PowerShell收集服务器日检报告,并发邮件给管理员脚本修改应用于生产环境实例
- keepalived发送邮件不成功有哪些原因
- foxmail邮件发送不成功
- php 做注册邮件发送成功
- 《每日一课》Python入门之利用Python发送邮件
- JavaMail邮件发送不成功的那些坑人情况及分析说明
- Powershell Mail module, 发送outbox 里的所有邮件(一个.csv文件代表一封邮件)
- 【mac+Xcode】jenkins+svn+Xcode7.2+发布到蒲公英+发送邮件+构建成功
- 使用.net(C#)发送邮件学习手册(带成功案例
- asp.net2.0实现邮件发送(成功测试)
- Powershell管理系列(十三)用 PowerShell收集服务器日检报告,并发邮件给管理员
- 整合测试报告邮件发送
- SQL2000自动备份数据库并发送邮件报告数据库自动备份情况
- 程序异常退出时发送邮件报告的代码
- 程序异常退出时发送邮件报告的代码
- jmail 发送邮件jmail组件注册成功仍然报错,报8007005
- 腾讯云 服务器 mutt 发送邮件 不成功 解决 备忘录