Запланированная задача сценария Powershell не закончится

Я хочу использовать этот сценарий Powershell для автоматизации некоторых резервных копий на машинах Win7. Когда выполнено вручную от терминала Powershell сценарий работает, как рекламируется и концы после нескольких секунд (это - маленькое резервное копирование).

Проблема состоит в том, когда я пытаюсь автоматизировать процесс с Планировщиком задач. Когда время настает (или когда я выполняю задачу вручную), сценарий выполняет и выполняет резервное копирование правильно. Но это не возвращается к "Готовому", даже при том, что я знаю, что это закончилось. Я должен остановить задачу вручную каждый раз.

Теперь, я не ожидал для наблюдения то, что происходит, когда время настает для задачи работать снова, но я думаю, что она не запустится во второй раз, потому что это не "Готово".

Что я могу сделать об этом?

ОБНОВЛЕНИЕ 1:

Действие, которое я выбрал, "Запускают программу". В поле "Program/script" у меня есть "powershell.exe" и как аргумент, у меня есть путь к файлу сценария "*.ps1".

ОБНОВЛЕНИЕ 1:

Я заметил, что, хотя задача не возвращается к "Готовому", если я вручную запускаю ее, она работает снова.

3
задан 19 November 2014 в 17:34
1 ответ

Последние 2 строки BackupScript.ps1:

Write-Host "Press any key to close ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

Закомментируйте их (или удалите), и запланированные задания должны завершиться и выйти без ошибок. Если вам действительно нужна пауза в конце, замените последнюю строку чем-то вроде this , чтобы обернуть вокруг нее тайм-аут (каждый спящий режим составляет 1 секунду):

$counter = 0
while(!$Host.UI.RawUI.KeyAvailable -and ($counter++ -lt 600))
{
      [Threading.Thread]::Sleep( 1000 )
}
7
ответ дан 3 December 2019 в 05:12

Теги

Похожие вопросы