Имя: Пароль:
IT
 
Не запускается ВАТ-файл планировщиком Windows 2012 Server
,
0 america2013
 
22.01.14
08:30
Здравствуйте, уважаемые форумчане!!!

Пытаюсь создать задачу в планировщике (шедулере) на сервере, что бы в определенное время запускался ВАТ-файл.

Имею RPD доступ на сервер, права Администратора. Создал задачу. В триггере указал время и отметку "включить", в действии "C:\Program Files\LFTP\main.bat". Вот вроде и всё.


В журнале записано:

Сведения    22.01.2014 10:04:00    102    Задача завершена    (2)    1ec4a31c-87a4-4f97-8e00-f095cdbab05a
Сведения    22.01.2014 10:04:00    201    Действие выполнено    (2)    1ec4a31c-87a4-4f97-8e00-f095cdbab05a
Сведения    22.01.2014 10:04:00    200    Действие запущено    (1)    1ec4a31c-87a4-4f97-8e00-f095cdbab05a
Сведения    22.01.2014 10:04:00    100    Задача запущена    (1)    1ec4a31c-87a4-4f97-8e00-f095cdbab05a
Сведения    22.01.2014 10:04:00    129    Обработка созданной задачи    Сведения    


Но команды, прописанные в файле не выполняются, окно командной строки только на секунду появляется и пропадает(((

Прошу подскажите, что ещё нужно сделать?
1 vcv
 
22.01.14
08:35
Попробовать так:
C:\Windows\system32\cmd.exe /c "C:\Program Files\LFTP\main.bat"
2 america2013
 
22.01.14
08:42
Попытался добавить, было предупреждение, что это аргументы, но задача изменилась, но теперь в журнале ошибка:

Предупреждение    22.01.2014 10:36:00    332    Условия запуска не выполнены, пользователь не выполнил вход    Сведения    


Как выполнить этот вход?
3 fmrlex
 
22.01.14
08:55
Да права смотреть надо, к бабке не ходи
4 dk
 
22.01.14
09:00
там галка есть что-то типа "запускать только при залогиненным юзером"
5 america2013
 
22.01.14
09:05
(3) Можете подсказать, где конкретнее это увидеть?

(4) Отметка "Выполнять только для пользователей, вошедших в систему" уже стояла. Результат прежний...
6 vcv
 
22.01.14
09:06
(4) Судя по тому, что "окно командной строки только на секунду появляется и пропадает", пользователь был залогинен. Может не хватает полномочий на какой-нибудь "вход в качестве службы"? Групповую политику смотреть надо.
7 america2013
 
22.01.14
09:08
(6) Дело ещё в том, что если запустить ВАТ вручную, то запускается и все делает.
8 PaulBC
 
22.01.14
09:11
В системный журнал пишет что-нибудь?
9 Jump
 
22.01.14
09:13
Судя по написанному в (0) батник исправно выполняется.

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


Добавь в батник строчку
pause
дождись исполнения батника планировщиком и посмотри что там в консоли написано.
10 Jump
 
22.01.14
09:16
Ну либо вывод в текстовый лог файл сделать.
В любом случае проблема с батником, а не с планировщиком.
11 Chai Nic
 
22.01.14
09:20
Лучше переименуй его в cmd, а то bat это расширение для командного файла command.com (16-разрядная дос-программа). В 64-битной системе с 16-разрядностью тяжеловато)
12 Jump
 
22.01.14
09:34
(11)Да ну?
А cmd тогда кто обрабатывает?
13 Chai Nic
 
22.01.14
09:35
(12) cmd.exe - нативная консольная программа.. на 64-разрядной системе она 64-разрядная
14 america2013
 
22.01.14
09:37
Пробовал установить в "Общие" отментку "Выполнять вне зависимости от регистрации..." и "Выполнять с наивысшими правами...", потом попросил парольот Админ-а, пароль успешно принять, но ВАТ так и не запускается(((

(8) Где посмотреть?

(9) Дописал... интересно получается:

- при запуске планировщиком, -
Системе не удалось найти указанный путь.
"lftp.exe" не является внутренне или внешней командой, исполняемой программной или пакетным файлом.
C:\Windows\system32>pause

- при запуске вручную, -
Системе не удалось найти указанный путь.
выполняются все команды
C:\Program Files\LFTP>pause
15 Jump
 
22.01.14
09:38
(13)Именно она и обрабатывает бат файлы.
16 Jump
 
22.01.14
09:39
(14)Полные пути пропиши к приложениям, и все будет хорошо.
17 Jump
 
22.01.14
09:40
Я ж говорю что с рабочим каталогом скорее всего проблема.

Можешь скинуть сюда текст батника, если небольшой, покажу где поправить.
18 america2013
 
22.01.14
09:41
(17) Пожалуйста

@echo off

lftp.exe -f lftp.conf

echo on

pause

exit
19 Jump
 
22.01.14
09:44
(18)Замени
lftp.exe -f lftp.conf
на
ПолныйПутьКфайлу\lftp.exe -f lftp.conf
И все заработает.
20 Jump
 
22.01.14
09:46
Хотя путь к конфигу тоже придется с полным путем давать.
ПолныйПутьКфайлу\lftp.exe -f ПолныйПутьКконфигу\lftp.conf
21 Jump
 
22.01.14
09:49
Или как вариант
@echo off
CD ПутьКпапкеСбатником

далее по тексту.
22 13_Mult
 
22.01.14
09:54
Короче была такая ситуёвина. Это происходит когда через RDP прикручивать задание на выполнение батника, а если на прямую с сервера все это проделать работает на ура.( под2005)
23 13_Mult
 
22.01.14
09:55
Под 2005 win такое наблюдал, а с 2008 уже норм
24 america2013
 
22.01.14
09:55
Заработало!!!)))

(21) Да, Вы были правы, проще конечно перейти в нужный каталог, чем 2 раза писать полный путь у двух файлов, в результате ВАТ имеет вид:

@echo off
cd "C:\Program Files\LFTP"
lftp.exe -f lftp.conf
echo on


pause


exit


Получается, что проблема оказалась в самом ВАТ-файле. Значит один и тот же файл свободно запускается и выполнять все команды, если его запустить вручную, но совсем по другому будет себя вести (совсем не запускаться), если использовать планировщик.
25 Torquader
 
22.01.14
09:59
(24) Планировщик запускает под другим сеансом, и переменная окружения path будет совершенно другой.
26 Jump
 
22.01.14
09:59
(24)Если вы запускаете его вручную то рабочий каталог = каталогу в котором он расположен.
Если запускаете планировщиком, то рабочий каталог= каталог пользователя.
А в каталоге пользователя нет нужных файлов которые вы вызываете, поэтому он и не может их выполнить.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.