Я работаю над VBScript для еженедельной перезагрузки всех машин в нашей сети. Я хочу запустить этот скрипт через планировщик задач. Сценарий запускается в 3:00 утра, но есть небольшая вероятность того, что пользователи все еще могут быть в сети в это время, и мне нужно дать им возможность завершить перезагрузку. Если они это сделают, я бы хотел, чтобы перезагрузка произошла на следующую ночь в 3:00 утра. Я настроил планировщик заданий так, чтобы он повторялся таким образом.
Все идет нормально. Проблема в том, что если пользователь выберет "Отмена" в моем сценарии, планировщик задач не увидит мою задачу как сбойную и не запустит ее снова на следующую ночь.
Есть идеи? Могу ли я передать код ошибки в планировщик задач или иным образом прервать задачу через VBScript?
Мой код ниже:
Option Explicit
Dim objShell, intShutdown
Dim strShutdown, strAbort
' -r = restart, -t 600 = 10 minutes, -f = force programs to close
strShutdown = "shutdown.exe -r -t 600 -f"
set objShell = CreateObject("WScript.Shell")
objShell.Run strShutdown, 0, false
'go to sleep so message box appears on top
WScript.Sleep 100
' Input Box to abort shutdown
intShutdown = (MsgBox("Computer will restart in 10 minutes. Do you want to cancel computer restart?",vbYesNo+vbExclamation+vbApplicationModal,"Cancel Restart"))
If intShutdown = vbYes Then
' Abort Shutdown
strAbort = "shutdown.exe -a"
set objShell = CreateObject("WScript.Shell")
objShell.Run strAbort, 0, false
End if
Wscript.Quit
Цени любые мысли.