В основном после https://www.ryadel.com/en/event-viewer-send-notification-e-mail-messages-with-powershell/, Я закончил с
$event = get-eventlog -LogName Application -Message *Arc* -newest 1 | Where-Object {$_.Source -notlike "MsiInstaller"}
if ($event.Message -like "*Arc*")
{
$PCName = $env:COMPUTERNAME
$EmailBody = $event | format-list -property * | out-string
$EmailFrom = "$PCName sasquatch@bigfoot.com"
$EmailTo = "you_cant_find@me.com"
$EmailSubject = $event.Source
$SMTPServer = "smtp.server"
Write-host "Sending Email"
Send-MailMessage -From $EmailFrom -To $EmailTo -Subject $EmailSubject -body $EmailBody -SmtpServer $SMTPServer
}
else
{
write-host "No error found"
write-host "Here is the log entry that was inspected:"
$event
}
Который я затем присоединяю как задачу к Журналу приложений Windows. Когда параметры запроса выполняются либо с помощью метода тестирования, включенного в ссылку, либо с помощью фактического события приложения, которое соответствует критериям, я не только получаю электронное письмо, но и получаю одно и то же электронное письмо снова и снова, снова и снова.
В настройках запланированной задачи я перепробовал все возможные варианты, включая ALL из опций в «Если задача уже запущена, то применяется следующее правило». Задача выполняется под учетной записью службы, и многие, многие другие запланированные задачи, не связанные с этой, работают нормально, как и многие годы. Также нет проблем с сервером электронной почты, который заставил бы его отправлять электронные письма бесконечными циклами, поскольку он обслуживает 25 000 пользователей, и они заметили бы это примерно за 0,2 секунды.
Думая, что PS был шатким, я тоже попытался:
$event = get-eventlog -LogName Application -Message *Arc* -newest 1 | Where-Object {$_.Source -notlike "MsiInstaller"}
$PCName = $env:COMPUTERNAME
$EmailBody = $event | format-list -property * | out-string
$EmailFrom = "$PCName sasquatch@bigfoot.com"
$EmailTo = "you_cant_find@me.com"
$EmailSubject = $event.Source
$SMTPServer = "smtp.server"
Write-host "Sending Email"
Send-MailMessage -From $EmailFrom -To $EmailTo -Subject $EmailSubject -body $EmailBody -SmtpServer $SMTPServer
Та же проблема: бесконечный цикл писем. Это в Windows Server 2012 R2 Datacenter. История планировщика заданий продолжает отображаться Task Scheduler did not launch task "\Event Viewer Tasks\ArcGIS Application" because instance "{0b7a77d1-41f9-4ad9-b943-a98d1a22aa9f}" of the same task is already running.