Я пытаюсь запустить сценарий BAT из планировщика задач в Windows 2008 R2, и он выполняется в течение 3 секунд, а затем останавливается.
Он говорит, что успешно завершен, но я знаю, что это не так.
Я могу запустить этот сценарий напрямую из командной строки, и он работает нормально.
Запущенный мной файл bat на самом деле удаляет файлы старше 7 дней с помощью «forfiles», затем я подключаю сетевой диск, перемещаю файлы по сети с помощью robocopy, а затем закрываю сетевое соединение.
Я удалил параметры сети и копирования из файла, и он по-прежнему делает то же самое. Вот как выглядит мой файл:
rem This will delete the files from BBLEARN_stats
forfiles -p "E:\BB_Maintenance_Data\DB_Backups\BBLEARN_stats" -m *.* -d -17 -c "cmd /c del @file"
rem This will delete the files from BBLEARN_cms_doc
forfiles -p "E:\BB_Maintenance_Data\DB_Backups\BBLEARN_cms_doc" -m *.* -d -14 -c "cmd /c del @path"
rem This will delete the files from BBLEARN_admin
forfiles -p "E:\BB_Maintenance_Data\DB_Backups\BBLEARN_admin" -m *.* -d -10 -c "cmd /c del @path"
rem This will delete the files from BBLEARN_cms
forfiles -p "E:\BB_Maintenance_Data\DB_Backups\BBLEARN_cms" -m *.* -d -10 -c "cmd /c del @path"
rem This will delete the files from attendance_bb
forfiles -p "E:\BB_Maintenance_Data\DB_Backups\attendance_bb" -m *.* -d -10 -c "cmd /c del @path"
rem This will delete the files from BBLearn
forfiles -p "E:\BB_Maintenance_Data\DB_Backups\BBLEARN" -m *.* -d -18 -c "cmd /c del @path"
rem This will delete the files from Logs
forfiles -p "E:\BB_Maintenance_Data\logs" -m *.* -d -10 -c "cmd /c del @path"
NET USE Z: \\10.20.102.225\coursebackups\BB_DB_Backups /user:cie oly2008
ROBOCOPY E:\BB_Maintenance_Data Z: /e /XO /FFT /PURGE /NP /LOG:BB_DB_Backups.txt
openfiles /disconnect /id *
NET USE Z: /delete /y
Это происходит на 2 серверах при попытке запустить команды из BAT-файла.
Другой сервер выдает ошибку, если (0xFFFFFFFF), но этот файл запускает CALL C:\dir\dir\file.bat -options
и я использовал подобные команды раньше в Server 2003.
Вот файл для этого файла:
call C:\blackboard\apps\content-exchange\bin\batch_ImportExport.bat -f backup_batch_file.txt -l 1 -t archive
NET USE Z: \\10.20.102.225\coursebackups\BB_Course_Backups /user:cie oly2008
ROBOCOPY E:\ Z: /move /e /LOG+:BB_Move_Course_Backups.txt
openfiles /disconnect /id *
NET USE Z: /delete /y
Если командные файлы не могут выполняться как запланированная задача, но нормально работают в интерактивном режиме, это, скорее всего, связано с проблемой безопасности / разрешений. Учетная запись SYSTEM / LocalSystem, которая часто используется для запуска запланированных задач, обычно не имеет разрешений на доступ, например, к каким-либо сетевым ресурсам.
Каков контекст безопасности вашей запланированной задачи? Вы можете попробовать временно изменить его на что-то более привилегированное (например, учетную запись администратора домена) в качестве проверки гипотезы.
Если он работает, вам следует создать новую учетную запись со сложным паролем и достаточными привилегиями для использования с задачами. Пароль учетной записи сохраняется вместе с запланированной задачей - используя отдельную учетную запись, вы следуете хорошей практике безопасности и предотвращаете неудачные запуски задачи при изменении пароля администратора.