PS скрипт не запускается Powershell Job - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь использовать задание powershell, чтобы проверить, не сбилось ли недавно приложение, и перезапустить его, если оно упало. Скрипт, выполняющий проверку и перезапуск приложения, работает правильно при запуске отдельно. Но скрипт задания не выполняет его.

Скрипт проверки и перезапуска (CheckAndRestart.ps1):

$isProcessRunning = Get-Process "AppMain" -ErrorAction SilentlyContinue
if (!$isProcessRunning) {
    $events = Get-WinEvent -FilterHashtable @{LogName='application';
                                 starttime=([datetime]::Now.AddMinutes(-120));
                                 endtime=([datetime]::Now);
                                 } |Where-Object -Property Message -Like '*AppMain*'                           
    if ($events) {
        Start-Process -FilePath "shell:appsFolder\AppMain_9889wea!App"
    }
}

Скрипт для создания задания:

$path = 'E:\Projects\AppMain\AppMainScript\CheckAndRestart.ps1'
$taskName = "AppMainScript"
$taskExists = Get-ScheduledJob | Where-Object {$_.Name -like $taskName }
if($taskExists) {
    Unregister-ScheduledJob -Name $taskName -Confirm:$false
}
$trigger_atlogon = New-JobTrigger -AtLogOn
$trigger_repetition = New-JobTrigger  -Once -At 11:40  -RepetitionInterval (New-TimeSpan -Minutes 1) -RepeatIndefinitely
Register-ScheduledJob -Name $taskName -Trigger @($trigger_atlogon,$trigger_repetition) -FilePath $path

Есть идеи, почему в задании не выполняется сценарий?

ОБНОВЛЕНИЕ

Я объединил два сценария в один. И приложение появилось в диспетчере задач, но GUI приложения не было видно. Иногда это показывало бы GUI, но большую часть времени идентификатор не показывал. Я думаю, что есть некоторые ограничения или другие детали, о которых я не знаю.

К сожалению, у меня нет времени для дальнейшего изучения этой ситуации из-за нехватки времени. Я создал приложение WinForms, которое делает то, что должен иметь скрипт.

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