Мой скрипт не будет работать под планировщиком задач. Зачем? - PullRequest
12 голосов
/ 20 марта 2009

У меня есть скрипт vbscript, который я отлично запускаю, когда запускаю его сам.

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

Это скрипт, вызывающий 32-битные библиотеки DLL на 64-битной машине Win2008.

C: \ windows \ SysWOW64 \ cscript.exe Bob.vbs

Я также установил локальный каталог, откуда я его запускаю.

По иронии судьбы планировщик задач говорит, что «успешно завершает» выполнение задачи.

Кроме того, в планировщике заданий работают другие скрипты, это просто этот скрипт.

У кого-нибудь есть список вещей, которые я могу проверить?

Ответы [ 13 ]

7 голосов
/ 18 декабря 2011

У меня была эта проблема с пакетными файлами DOS и сценариями VB в Windows 2008 Server и Windows 7. В каждом случае, когда я устанавливал папку «start in» для запланированной задачи, все работало нормально.

6 голосов
/ 20 марта 2009

У меня была похожая проблема при выполнении запланированного задания на моем SVN-сервере.

Мой сценарий записывал в то, что я считал текущим рабочим каталогом (каталог, который я указал для задачи в качестве папки «Начать с»). Если я вошел на сервер и запустил скрипт, он работал нормально. При выполнении в качестве запланированной работы это не будет.

В моем случае выглядело так, как планировщик переназначил рабочий каталог как каталог, указанный в переменной среды TEMP для учетной записи пользователя, используемой для запуска задания, а не для каталога, который я указал для задачи Папка «Пуск в»).

Проверьте папку TEMP для учетной записи и посмотрите, есть ли там ваши файлы.

5 голосов
/ 23 мая 2014

У меня была настоящая проблема с этим (доброе утро), и я нашел это решение здесь :

В планировщике задач Windows мне пришлось нажать кнопку «Изменить пользователя или группу» и добавить группу «Администраторы».

Надеюсь, это кому-нибудь поможет.

4 голосов
/ 14 октября 2015

Если вы используете 64-битную машину Win2008: это (наконец-то) сработало для меня на том же сервере. Планировщик задач запускает пакетный файл (например, runvbs.bat) для вызова cscript с 32-битной версией интерпретатора командной строки, например:

@echo off
%windir%\syswow64\cmd.exe /C "c:\windows\system32\cscript.exe //B //nologo import_some_data.vbs"

Обратите внимание на двойные кавычки .

Я использовал группу «Администраторы» для разрешений и «Запуск с самыми высокими привилегиями».

Настройка для: Windows & reg; 7, Windows Server и торговля; 2008 R2

В диалоговом окне «Редактировать действие» у меня есть:

Действие: запустить программу

Программа / скрипт: runvbs.bat

Начать с: c: \ inetpub \ wwwroot \ asp \ importstuff \

1 голос
/ 04 марта 2016

Решил эту же проблему. Сценарий завершится ошибкой при подключении к базе данных, а затем исправит ошибку при создании файла Xls. Я создал файл bat и добавил к нему содержимое ниже. этот bat-файл вызовет мой скрипт vb и запустит его в 32-битном режиме.

%windir%\SysWoW64\cmd.exe /C "c:\windows\system32\cscript.exe //B //nologo C:\ScheduledJobs\PrimeReconDev\myVBScript.vbs"

Я настроил расписание задач для запуска моего файла bat с указанным выше содержимым и разделил исполняющего пользователя с правами администратора. Сделайте это, воспользовавшись опцией «изменить пользователя или группу» на вкладке «Общие». После того, как я закончил, я смог выполнить все без проблем. Первоначально я выполнял как я, и я в группе администраторов, но это все еще не удавалось. Выполнение как встроенные администраторы сделали трюк

0 голосов
/ 28 июня 2017

Альтернативное решение:

Запускается только при входе пользователя в систему

Сделайте этот выбор внутри диспетчера задач.


Это то, что исправили, сделали это для меня (на 3 отдельных компьютерах - Win7 Pro, Win12 Server)

Я надеюсь, что это может помочь кому-то еще.

0 голосов
/ 30 марта 2015

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

Если бы на сервере 2003 нормально работали скрипты, пытались перейти на сервер 2012, и часть скрипта не работала бы.

Пришлось создать новое задание и на вкладке «Общие» выбрать «Настроить для» Windows Server 2003, Windows XP или Windows 2000. Этот параметр не разрешает 2003, если вы используете базовое задание, вы должны использовать новое задание.

0 голосов
/ 27 марта 2014

У меня была такая же проблема. Используется следующая строка в Задаче -> Запустить поле CMD / C "полный путь к моему VBScript" лайк CMD / C c: \ Test \ MyScript.vbs

0 голосов
/ 11 июля 2013

У меня была такая же проблема.

Я исправил это, используя относительный путь («logs \ log») вместо абсолютного, который я использовал ранее («U: \ workingDirectory \ logs \ log»).

Очевидно, что при выполнении сценариев с помощью планировщика задач необходимо использовать относительные пути.

0 голосов
/ 03 июля 2013

Для Windows 2008 вам, вероятно, нужно убедиться, что задача выполняется с правами администратора.

Вкладка «Общие» - (Проверить) Запуск с самыми высокими привилегиями

...