Отправка электронной почты, когда ms access.exe зависает powershell - PullRequest
1 голос
/ 11 марта 2020

Я хотел бы попросить помощи, если есть способ отправить уведомление по электронной почте, когда запланированный макрос доступа ms в планировщике задач находится в состоянии «Выполнение» более 20 минут?

Ответы [ 2 ]

1 голос
/ 11 марта 2020

Первое, что приходит на ум, - это написание второй запланированной задачи для опроса времени выполнения макрокоманды MS Access.

Если задача превышает 20 минут, отправьте электронное письмо.

Другим вариантом может быть запуск фонового задания (Start-Job) в коде MS Access, который отправит электронное письмо через 20 минут. И в вашем коде, если задание MS Access выполнено успешно, вы можете отменить (Stop-Job) фоновую задачу электронной почты.

(Есть много способов снять шкуру с кошки, поэтому просто найдите лучшее решение для этой проблемы)

0 голосов
/ 12 марта 2020

Наконец получил его с помощью powershell.

$ScheduledTaskName = "full path of your scheduled task e.g Folder1\Folder2\taskname"
$Result = (schtasks /query /FO LIST /V /TN $ScheduledTaskName  | findstr "Result")
$Result = $Result.substring(12)
$Code = $Result.trim()

If ($Code -gt 0) {

$From = "MacroFails@DoNotReply.com"
$To = "Admin@Domain.com"
$Subject = "Scheduled task 'AppendCreatedSO' failed on SERVER"
$Body = "Error code: $Code"
$SMTPServer = "your SMTP Server"
$SMTPPort = "SMTP erver port"
Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -BodyAsHtml -SmtpServer $SMTPServer -Port $SMTPPort #-UseSsl -Credential (Get-Credential) #-Attachments $Attachment
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...