Не удается уничтожить файл .exe с помощью Powershell V4.0 - PullRequest
0 голосов
/ 15 февраля 2019

Пожалуйста, смотрите ниже.По какой-то причине я не могу убить никого при запущенном процессе .exe.Случайно я видел, как работает этот сценарий, поэтому я думаю, что происходит что-то еще.

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

Будет ли этот код гарантировать уничтожение процессов, даже если они зависли.

$process = Get-Process -Name "IVR1","IVR2","IVR3"
$IVR1path = "C:\IVR1"
$IVR2path = "C:\IVR2"
$IVR3path = "C:\IVR3"
Get-Process $process -ErrorAction SilentlyContinue
if ($process) {
    Get-Process -Name $process | kill -PassThru
    Start-Sleep -s 5
    cd $IVR1path
    Start-Process ".\IVR1.exe"
    cd IVR2path
    Start-Process ".\IVR2.exe"
    cd IVR3path
    Start-Process ".\IVR3.exe"
    cd ..
    cd ..
    $From = "IVR1@example.com.au"
    $To = "myemail@example.com.au"
    $cc = "myemail@example.com.au"
    $Subject = "**TEST** - IVR1 has been recovered"
    $Body = "The IVR has been successfully recovered"
    $SMTPServer = "mail.example.com.au"
    Send-MailMessage -From $From -to $To -cc $cc -Subject $Subject -Body $Body -SmtpServer $SMTPServer
}

1 Ответ

0 голосов
/ 15 февраля 2019

Используйте код ниже.

$process = "IVR1","IVR2","IVR3" #Creates array of process names
$IVR1path = "C:\IVR1"
$IVR2path = "C:\IVR2"
$IVR3path = "C:\IVR3"
if ($process) {
    Get-Process -Name $process | kill -PassThru
    Start-Sleep -s 5
    Start-Process "$IVR1path\IVR1.exe"
    Start-Process "$IVR2path\IVR2.exe"
    Start-Process "$IVR3path\IVR3.exe"
    $From = "IVR1@example.com.au"
    $To = "myemail@example.com.au"
    $cc = "myemail@example.com.au"
    $Subject = "**TEST** - IVR1 has been recovered"
    $Body = "The IVR has been successfully recovered"
    $SMTPServer = "mail.example.com.au"
    Send-MailMessage -From $From -to $To -cc $cc -Subject $Subject -Body $Body -SmtpServer $SMTPServer
}
...