MsgBox (VBA) через Windows планировщик AT?

Создал файл reboot.vbs который перезагружает компьютер через заданное время, но имеет возможность отмены перезагрузки. При двойном клике мышкой на файле всё отлично работает. При добавлении в планировщик перезагрузка работает, но MsgBox не появляется, а значит и нет возможности отменить перезагрузку. Что посоветуете?

Команда добавления в планировщик:
AT 20:00 /every:M,T,W,Th,F,S,Su c:\reboot.vbs

Файл reboot.vbs:
Option Explicit
dim WshShell
' Создаем ссылку на объект WscriptShell
set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.Run "shutdown -r -t 300"
WScript.Sleep (2000)
If MsgBox("До перезагрузки осталось меньше 5-ти минут."+ Chr(13)+ Chr(13)+"Для отмены перезагрузки нажмите ""Нет"" ", vbYesNo+vbExclamation+vbDefaultButton2, "Перезагрузка")=vbNo then
   WshShell.Run "shutdown -a"
end if
  • Вопрос задан
  • 259 просмотров
Решения вопроса 2
Jump
@Jump Куратор тега Windows
Системный администратор со стажем.
Если вы сами запускаете скрипт - он запускается от пользователя и имеет доступ к рабочему столу.
В планировщике вы запускаете его от имени системы, как он выведет бокс на ваш рабочий стол?
Запускайте под текущим пользователем и будет вам запрос.
Ответ написан
Комментировать
@Alexandr_SS Автор вопроса
Спасибо АртемЪ . Заработало.
schtasks /create /ru arm /RL HIGHEST /TN reboot_deb /TR c:\reboot.vbs /SC daily /MO 2 /ST 09:32


/RU - и задает пользовательский контекст
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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