当前各种恶意病毒肆虐,文件备份是重中之重,很多商业软件都支持备份完成之后,将备份状态以邮件或其他形式通知管理员,但当使用巨硬操作系统自带的Windows Server Backup 备份之后,原本是没有通知功能的,此时不可能每天都连上服务器,手动检查一遍,也不现实。通过查找,发现可以通过Powershell 脚本加计划任务,触发邮件Windows Server Backup 状态邮件通知功能,以下为操作方法。
0x01 Powershell 脚本编写
version2.0
function EmailNotification()
{
#定义需发送通知的邮件地址
$Sender = "backup@opsit.cn"
#定义需接收通知的邮件地址
$Receipt = "webpoplayer@opsit.cn"
#定义发送邮件的SMTP服务器
$Server = "mail.opsit.cn"
#邮件主题,以服务器主机名与备份启动时间为主题
$Object = $env:computername+": Backup report of "+(Get-Date)
#Mail content
$Content = Get-WBJob -Previous 1 | ConvertTo-Html -As List | Out-String
$SMTPclient = new-object System.Net.Mail.SmtpClient $Server
#Specify SMTP port if needed
$SMTPClient.port = 25
#Activate SSL if needed
#$SMTPclient.EnableSsl = $true
#定义发送邮件的帐号与密码
$SMTPAuthUsername = "webpoplayer"
$SMTPAuthPassword = "123.com"
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($SMTPAuthUsername, $SMTPAuthPassword)
$Message = new-object System.Net.Mail.MailMessage $Sender, $Receipt, $Object, $Content
$Message.IsBodyHtml = $true;
$SMTPclient.Send($Message)
}
EmailNotification
WBADMIN DELETE BACKUP -keepVersions:2 -quiet
将邮件发送与接收设为自己需要的,然后复制以上脚本,放到服务器其他盘上,此处存放在D:Scriptsend_Backup_Mail.ps1,可根据实际情况调整。
0x02 创建计划任务
新建计划任务,设置计划任务名与备注。

触发条件为当特定的事件日志发生时。

日志记录档选择 Microsoft-Windows-Backup/Operational ,ID号先填写4或其他。

动作选择启动程序,填写powershell.exe 后面,并填写脚本的绝对路径,来源处填写脚本的相对路径。

返回重新编辑触发条件。

选择自定义,新事件编辑

配置触发事件:
失败事件id有5,8,9,17,22,49,50,52,100,517,518,521,527,528,544,545,546,561,564,612
成功事件id为:4

设置计划任务不管有没登录都以最高权限执行,输入有权限的管理员帐号密码,保存。
0x03 测试预览效果

测试运行,计划任务,收到备份邮件通知,下次每当备份完成或出错后均会收到服务器的通知邮件,及时查看知悉服务器备份信息。