Всем доброе утро, я новичок в Windows 2008 s.a., и у меня возникла странная проблема.
Я сделал очень простой файл bat, который останавливает HTTP-сервер Apache, копирует файл, а затем перезапускает веб-сервер (да, это глупо, но это то, что мне дали). Теперь летучая мышь работает правильно, но если я ее запланирую, независимо от того, какие привилегии я даю процессу, она просто не запускается.
Чтобы быть уверенным, я сделал еще один сценарий, который должен создать каталог, и снова он работает нормально, но не как запланированная задача.
Где я не прав? Спасибо.
попробуйте запустить пакет с перенаправлением ошибок в планировщике задач example.bat 2 >> c: \ Folder \ Errors.txt >> c: \ Folder \ Run.txt
и измените пакетный файл, чтобы вы всегда получали результат (добавьте две строки)
echo %time%
echo %time% >>&2
Если вы получаете только одну строку в обоих файлах, ваш пакет не имеет вывода, но выполняется. Если вы не получаете вывода в обоих файлах, требуются дополнительные разрешения ...
Кстати, вы нажимали «Запускать с наивысшими привилегиями» и «Запускать независимо от того, вошел ли пользователь в систему или нет» в библиотеке планировщика задач?
Я решил дело.
Сценарии поступают из ОС Windows 2003 Web Edition, и они выполнялись «в том же каталоге», где они находились. Кажется, что в 2008 R2 они запускались в каталоге system32, поэтому мне пришлось использовать абсолютные пути.
Теперь все исправлено, в любом случае спасибо за советы.
Каков результат запуска в планировщике задач? В нем указано (0x0)?
На вкладке действий, что вы ввели в «программу / сценарий», а что в «аргументы», а что в «Начать в»?
Обычно командный файл следует запускать с помощью cscript.exe, аргументом которого является файл.
Кроме того, поскольку вы работаете на сервере Windows 2008 R2, я бы рекомендовал использовать powershell вместо пакетных файлов.