Есть ли способ сохранить имя службы Windows в значении свойства при неожиданном сбое службы? - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть пакетный скрипт, который запускает скрипт Powershell, когда служба Windows неожиданно останавливается. Этот сценарий Powershell запускается с помощью параметров восстановления в службе и отправляет электронное письмо, уведомляющее администраторов о том, что служба завершилась сбоем, и им необходимо go проверить ее.

Учитывая, что эти сценарии будут использоваться на нескольких серверах и сервисы, я хотел бы найти способ получить имя службы, которая вышла из строя, и сохранить его как значение свойства вместо жесткого кодирования имен служб и создания копий этого сценария электронной почты для каждой службы, на которой он будет использоваться.

Есть ли способ сохранить имя службы, которая вызвала сценарий при сбое, и передать его в Powershell?

Редактировать: Когда происходит сбой службы, я воспользовался советом thepip3r и просто запустил сценарий powershell при сбое, отказавшись от необходимости в пакете скрипт. Вот настройка параметров восстановления

Тестирование работает и отправляет электронное письмо, но как бы я назвал имя "TestService", которое я дал в скрипте?

Для справки, вот код в моем скрипте ps1:

$From = "testing@test.com"
$To = "me@test.com"
$Subject =  "[SERVICE NAME VALUE] Failed to Restart"                           
$Body = "Please go to " + $env:computername +" and restart it"
$SMTPServer = "smtp.server"
$SMTPPort = 587
$userName = 'user123'
$securePwd = Get-Content 'filepathtoencryptedpass\Secure.txt' | ConvertTo-SecureString
$cred = New-Object -typename System.Management.Automation.PSCredential -ArgumentList $userName, $securePwd

Send-MailMessage -From $From -To $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -Port $SMTPPort -Priority High -Credential $cred
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...