Назад | Перейти на главную страницу

Как перезапустить сценарий PowerShell, если он умирает?

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

В настоящее время сценарий работает в цикле for, сначала выполняется проверка размера файла, и если он не прошел максимальный размер, он будет ждать заданный интервал времени и снова проверять размер файла. Но я думаю об изменении этого цикла for на do ... while, чтобы он сначала ждал определенный интервал времени, а затем проверял размер файла.

Но сценарий все равно завершится после отправки электронного письма.

Есть ли способ гарантировать, что скрипт будет повторно запущен, когда он завершится после отправки электронного письма?

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

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

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

Если вы это сделаете, сценарий вообще не выйдет из цикла: он отправит электронное письмо и вернется к проверке файла.