Планировщик задач Windows не запускает VBScript

Вопрос:

Я пытаюсь автоматизировать VBScript с помощью планировщика задач Windows. Однако я пытался использовать cscript.exe + "C:\...\script.vbs", но он не запускался. Я также попытался напрямую запустить ту же команду в CMD (cscript.exe "C:\...\script.vbs"), и она сработала.

В чем может быть проблема?

EDIT:

Я просто попытался переключить параметр на "Run only when user is logged on" с "Run whether user is logged on or not", и он сработал. Мне интересно, есть ли способ сделать запланированную работу моей задачи, даже когда пользователь вышел из системы.

Лучший ответ:

После нескольких часов исследований появился блог Блейка Моррисона (из Microsoft); он упомянул, что

Если вы запускаете .vbs/.ps1 script, попробуйте запустить его из .cmd/.bat script

см. Справка! Моя запланированная задача не запускается…

Этот блог также объясняет множество правил/советов при использовании планировщика заданий.

Итак, создайте файл .cmd/.bat, который вызывает ваш VBScript. Например: cscript.exe YourScript.vbs будет в вашем .cmd/.bat script.

Ответ №1

Напишите командный файл следующим образом:

echo "Started!" > c:\foldergoeshere\log.txt
cscript.exe "C:\...\script.vbs" > c:\foldergoeshere\log.txt
echo "Stopped!" > c:\foldergoeshere\log.txt

Затем планируйте командный файл вместо vbs. Это позволит вам увидеть, что происходит, что мешает ему работать. Любая ошибка, которую вы видели в консоли (CMD), будет выводиться в этот файл журнала между “Started!” и “Остановились!”

Ответ №2

Что за хлопот? Я не использую .cmd/.bat и script работает! (Windows7 здесь)
Мой VBS script (как запланированная задача) хорошо работает в любом сценарии этих 4:

  • c script и параметр “Запускать только при входе пользователя”
  • c script и параметр “Запустить, вошел ли пользователь в систему или нет”
  • w script и параметр “Запустить только при входе пользователя”
  • w script и параметр “Запустить, вошел ли пользователь в систему или нет”

Только в первом сценарии я сталкиваюсь с черным командным окном, мигающим на моем экране.

Настройки действий:

cscript
или
wscript

My script, который просто создает файл:

Set objFSO = CreateObject("Scripting.FileSystemObject")
filename = "C:\Temp\" & Hour(Time) & Minute(Time) & Second(Time)
Set objFile = objFSO.CreateTextFile(filename)

Ответ №3

Файл .vbs запускается невидимо, что является следствием запуска его с параметром “logged on or not”.

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

Прочтите следующий текст в меню справки планировщика заданий:

Контекст безопасности задачи

Вы можете указать, что задача должна выполняться, даже если учетная запись, под которой планируется запуск задачи, не регистрируется при запуске задачи.

Для этого выберите радиокнопку с надписью “Запустить”, вошел ли пользователь в систему или нет.

Если этот переключатель выбран, задачи не будут выполняться в интерактивном режиме.

Чтобы выполнить задачу в интерактивном режиме, выберите “Выполнить”, только когда пользователь зарегистрирован на радиокнопке.

Ответ №4

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

Ответ №5

Грег ответил на это https://superuser.com/a/816073

В основном вам нужно создать 2 папки:

Вы должны создать папку (или две на 64-битных окнах):

(32 бита, всегда) C:\Windows\System32\config\systemprofile\Desktop

(64 бит) C:\Windows\SysWOW64\config\systemprofile\Desktop

Исправил проблему для меня (и я мог указать на файл .vbs, а не bat).

Оцените статью
TechArks.Ru
Добавить комментарий