2013-04-17 2 views
1

У меня есть файл vbscript, который должен работать под 32 бит на 64-битной машине Windows 7, чтобы он мог подключиться к 32-битной базе данных Access. Из пускового ящика можно ввести:Windows 7 запланированная задача «работает», но ничего не делает

C:\Windows\SysWow64\WSCRIPT.EXE P:\Applicants\Applicants.wsf 

и он отлично работает. Когда я пытаюсь запустить это как запланированную задачу, он запускается под вторым (это не должно быть так быстро) и утверждает, что он успешно завершен. Это «действие» Я бегу под данный момент:

Start a Program 
C:\Windows\SysWow64\WSCRIPT.EXE 
Arguments: //Nologo //B P:\Applicants\Applicants.wsf >> P:\Applicants\logfile.txt 

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

Прежде чем добавить «// Nologo // B» (подсказка, которую я нашел здесь), она начнет работать и никогда не остановится.

Необязательный флажок «Начать ввод» пуст. Если я поместил в него какое-либо значение (попробовал P: \ Заявители), задача не запускается с «Значение ошибки: 2147942667». Никакие решения, предлагаемые при поиске этого кода ошибки, не работали, поэтому я оставляю этот ящик пустым.

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

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

Предложения? Без файла журнала я даже не знаю, с чего начать устранение этой проблемы.

EDIT: Новая информация: Если я установил его для запуска, только когда я вошел в систему, он отлично работает. Только при запуске, даже если пользователь вышел из системы, что он не работает, даже если я вошел в систему, когда он запускается.

РЕДАКТИРОВАТЬ 2: Контекст безопасности «запуска, даже если пользователь вышел из системы», указывает, что «» ... выберите радиокнопку с надписью «Запустить», вошел ли пользователь в систему или нет. Если этот переключатель выбран, задачи не будут выполняться в интерактивном режиме. Чтобы сделать задачу запущенной в интерактивном режиме, выберите «Выполнить», только когда пользователь зарегистрирован на радиокниге ».

Таким образом, я думаю, что мой сценарий как-то интерактивен, но это не так. Нет никаких подсказок или диалоговые окна или MsgBox вызовы, так что я не знаю, почему это было бы проблемой.

+0

I <3 вы так много ... Я сражался с TS, как месяц, пытаясь получить мою глупость Vbscript для запуска и изменения опции «Запуск только при входе пользователя» заставил его работать для меня! Благодаря!!! – Prophesix

ответ

3

Понял! Проблема заключалась в том, что я ссылался на сопоставленный диск с P: \ как в вызове «action», так и в самом скрипте. Когда я заменил все вызовы на диск P с полным сетевым путем \ server \ share, все работает нормально. Конечно, подключенные диски недоступны, если я не вошел в систему, имеет смысл: p

0

у вас есть два варианта.

1.Create пакетный файл с помощью команды для запуска, а затем запланировать пакетный файл для запуска вместо файла VBScript.

2. Запустите файл сценария напрямую, вместо использования WScript или CScript.

Источники: http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2general/thread/464a3bb3-3bcd-47a0-ab03-f0b8910f2ed1/

+0

вариант 1 стоит того. Я не могу использовать параметр 2, потому что это запустило бы его на 64-битной по умолчанию, и он не подключился бы к 32-битной базе данных Access.Добавлена ​​также новая информация. –

+0

@AnonymousMan: Расскажи мне, как это происходит. Также прочитайте ссылку, которую я предоставил. Что касается 32/64 бит, о, боли и боли в 64-битных Windows! – refi64

+0

Результат запуска из пакетного файла - это то же самое. Он будет работать только в том случае, если выбрано «запустить только при входе пользователя». Мне нужно, чтобы он работал, когда я вышел из системы, но в крайнем случае я мог оставаться включенным и заблокирован, если это считается «вошедшим в систему». –

Смежные вопросы