【发布时间】:2017-08-10 10:11:22
【问题描述】:
我尝试了几个脚本来通过电子邮件发送 HDD 或 RAM 的状态,但它不起作用, 第一次使用 PowerShell。
Windows Server 2012 R2
脚本将被事件触发(当内存不足时)并发送包含详细信息的电子邮件。
获取我使用的磁盘统计信息
Get-EventLog -LogName System | Where-Object {$_.EventID -eq 2013}
如何将此事件添加到电子邮件并使其显示在消息中,我尝试给它起一个名称,例如
$event Get-EventLog -LogName System | Where-Object {$_.EventID -eq 2013}
但我不知道如何将它添加到消息正文中,它不像 java 或
$message.body = $body + $event
要发送电子邮件,此脚本有效,
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"
$Username = "username@gmail.com"
$Password = "zxc"
$to = "help@x.com"
$cc = "help@x.ae"
$subject = "Low Disk Space"
$body = "The Server Disk is Low on memory"
$message = New-Object System.Net.Mail.MailMessage
$message.Subject = $subject
$message.Body = $body
$message.To.add($to)
$message.Cc.add($cc)
$message.From = $username
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.Send($message)
Write-Host "Mail Sent"
我读到 MS 已停止发送电子邮件警报,但人们仍有办法做到这一点,不幸的是我没有让它发挥作用。
【问题讨论】:
标签: powershell email windows-server-2012-r2 alerts