Прошу прощения, если есть действительно очевидный ответ!
У нас есть несколько ежедневных задач, которые мы запускаем через скрипт .vbs на нашем сервере (через Диспетчер задач), и в течение нескольких месяцев все было хорошо, но недавно мы столкнулись с проблемой. Сценарии .vbs перестали успешно выполняться (всегда истекло время ожидания) ... но все еще могли выполняться вручную без проблем (!).
Не зная ни одной веской причины, по которой у Планировщика заданий должны возникать проблемы, мы подумали, что попробуем немного «творчески подумать» и запустить .vbs другим способом: через файл .bat, выполняемый планировщиком заданий. Мы снова столкнулись со странными проблемами, но на этот раз с немного большей отладочной информацией.
Файл .bat, запускаемый планировщиком заданий, - это не что иное, как ...
CScript "C:\location\script.vbs" > Log.txt
Но после попытки запустить Планировщик задач дает сбой со следующей ошибкой:
0x1: Была вызвана неправильная функция или неизвестная функция.
Log.txt (как вывод из файла .bat выше) говорит:
Ошибка CScript: сбой при инициализации узла сценариев Windows. (Недостаточно памяти для обработки этой команды.)
Но получите вот это: Файл .bat отлично работает (скрипт vbs и все такое), если он запускается двойным щелчком! Проблема возникает только тогда, когда он запускается планировщиком заданий. Какого черта?
Были запущены Windows Server 2008 R2 (x64) и да, результаты Task Sheduler одинаковы вне зависимости от того, вошел ли пользователь в систему или нет. Кроме того, пользователь, который может успешно запускать сценарии вручную, также является тем же пользователем, который запускает сценарии в Планировщике заданий.
Спасибо за любую помощь в решении этой странной проблемы!
Как выяснилось, на самом деле это была нехватка памяти. Перезагрузка сервера и снова освобождение 16 Гб позволили ему все-таки запустить. Нет проблем с разрешениями пользователей. Нет проблем с учетными данными пользователя. Это была просто странная проблема с памятью (я заметил, что что-то происходит, когда я не могу запустить диспетчер конфигурации SQL или успешно установить какие-либо обновления через Центр обновления Windows).
Я предполагаю, что планировщик заданий не имел разрешения на возврат оперативной памяти, тогда как пользователь-администратор, запускающий .bat вручную, имел.
Банка с червями: открытая. * всхлип *
Похоже, проблема с правами запланированного задания. Убедитесь, что задаче назначены учетные данные, необходимые для запуска Windows Script Host. В диспетчере задач должно быть место для определения учетных данных учетной записи, под которой выполняется задача.