Этот сценарий отправляет электронное письмо при возникновении определенного события. Я запускаю этот сценарий, когда экран с файлами, который я настроил на FSRM, обнаруживает, что пользователь сохраняет определенные типы файлов. На вкладке команд я запускаю файл powershell.exe и аргументы этого скрипта. Я пытаюсь добавить сообщение из журнала событий, на создание которого настроен мой файловый экран. Однако, когда этот сценарий генерирует электронное письмо, он генерирует следующее вместо сообщения о событии.
System.Diagnostics.EventLogEntry
Вот сценарий:
function
sendMail{
Write-Host “Sending Email”
#SMTP server name
$smtpServer = “smtp.abc.com”
#Creating a Mail object
$msg = new-object Net.Mail.MailMessage
#gets the server name
$srv = $env:computername
#gets the event ID details
$event = Get-Eventlog -LogName Application -source SRMSVC -Newest 1
#Creating SMTP server object
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
#Email structure
$msg.From = “FileServer@abc.com“
$msg.ReplyTo = “administrator@ABC.com“
$msg.To.Add(“RECEPIENT@ABC.com“)
$msg.subject = “Event Alert”
$msg.body = “The file resource management service has detected activity. Please check the appliction log on $srv and look for id 8215. Here are the event details $event ”
#Sending email
$smtp.Send($msg)
}
#Calling function
sendMail
Переменная $ srv вводится правильно, добавляя правильное имя компьютера в тело письма.
Кто-нибудь знает, почему вместо этого сообщение о событии не включается в тело письма?
Попробуйте изменить
$msg.body = “The file resource management service has detected activity. Please check the appliction log on $srv and look for id 8215. Here are the event details $event ”
к
$msg.body = “The file resource management service has detected activity. Please check the appliction log on $srv and look for id 8215. Here are the event details $($event.message) ”
Все, что я сделал, это изменилось $event
к $($event.message)