Проблемы с планированием задачи на windows7
У меня проблемы с расписанием задачи, которую я написал.
В основном я создал .bat
файл, который выполняет скрипт R (script.R
). Когда я дважды щелкаю .bar
файл, он исполняется. Я могу увидеть файл результатов, а также какой-то файл журнала в script.Rout
,
Когда я пытаюсь запустить все в планировщике, у меня возникают проблемы с его запуском. Когда я нажимаю на Run
чтобы выполнить мою задачу, задача создает несколько записей в History
Вкладка, которая показывает, что моя задача начинается, а также заканчивается в ту же секунду. Так что в основном ничего не исполняется.
Где я могу проверить, какая проблема возникает? Мой скрипт пишет какой-то вывод, который находится внутри этого .Rout
файл, но он не создается с помощью планировщика задач.
Я уже добавил своего пользователя в параметры политики, чтобы запланировать задачу, а также, отредактировав задачу, окна не жалуются, я думаю, что это не проблема.
Хотел бы получить помощь, чтобы найти проблему.
РЕДАКТИРОВАТЬ:
Теперь я понял, моя задача выполняется, пока я не выбираю Execute task whether user is logged in or not
, Если я переключусь на этот параметр, мой сценарий не будет выполнен. Есть ли какая-то проблема безопасности?
1 ответ
Проверка запланированного пакетного сценария планировщика заданий не выполняется
Свойства планировщика задач. , ,
Из Windows Task Scheduler
о свойствах задания (см. большинство снимков экрана внизу) в.,,
1. На вкладке " Общие " убедитесь, что указанные ниже параметры выбраны / отмечены или не отмечены, как показано на экране печати A
- Uncheck
Run only when user is logged on
- Проверьте
Run whether user is logged on or not
- Проверьте
Run with the highest privileges
- Uncheck
2. На вкладке " Условия " убедитесь, что указанные ниже параметры выбраны, отмечены или не установлены, как показано на экране печати B
- Проверьте
Wake the computer to run this task
- Проверьте
3. На вкладке " Действия " нажмите " Изменить" и убедитесь, что
Start in (optional)
устанавливается так, как показано в примере ниже (НЕ ставьте двойные кавычки вокруг него) для полного пути, указывающего, где находится пакетный скрипт, БЕЗ окончательного обратного слеша "\
" Печать экрана C
Вопросы безопасности
После того, как вы нажмете OK (2. выше), вам будет предложено ввести учетные данные для запуска, и эти учетные данные потребуют доступа к
EXECUTE
пакетный файл, где он существует, и ему также понадобится доступ, чтобы выполнить любой пакетный файл, который вы запустили в сценарии.Для этого процесса лучше всего настроить статическую учетную запись пользователя службы / прокси, а затем использовать ее учетные данные для запуска процесса. Вам нужно убедиться, что его пароль надежный и он никогда не истекает, и ему нужен доступ к
EXECUTE
пакет и запуск независимо от того, запущен ли пакетный процесс и любые команды и ресурсы, и т. д. он также использует.Похоже вариант
Run whether user is logged on or not
Вы ДОЛЖНЫ проверить вариантRun with highest privileges
чтобы он действительно работал так, как ожидалось от планировщика заданий.
Проверка ошибок
Если есть проблема с фактическим пакетным сценарием, но планировщик задач Windows фактически выполняет его, чтобы запустить его, но логика пакетного сценария выдает ошибки и т. Д. По какой-либо причине, планировщик задач может не увидеть этот сбой на этом уровне. С его точки зрения (по умолчанию большую часть времени) он выполняет командный файл, поэтому, пока он может его выполнять и имеет доступ к нему, его работа выполняется успешно.
Добавьте проверку ошибок или ведение журнала в логику пакетного сценария, чтобы выявить (или устранить неисправности) проблемы на этом уровне, включая обеспечение того, чтобы контекст безопасности, в котором его выполняет пакетный планировщик, имел соответствующий доступ к командам, ресурсам и т. Д., К которым запускается пакетный сценарий.
Вопросы групповой политики
ПРОВЕРЬТЕ ПОЛИТИКУ ГРУППЫ И ВХОДИТЕ КАК РАЗРЕШЕНИЕ НА РАБОТУ
Ответ. В Windows эта привилегия предоставляется с помощью локальной или доменной политики безопасности. Чтобы сделать это с помощью локальной политики безопасности, выполните следующие действия.
- На панели управления откройте Администрирование, затем Локальная политика безопасности.
- Под настройками безопасности откройте Локальные политики и выделите Назначение прав пользователя.
- Найдите Вход в систему как пакетное задание. Откройте свойства и добавьте пользователей, которым необходимо это право.
- Когда закончите, сохраните ваши изменения и закройте окно Local Security Settings.
Ваши изменения должны вступить в силу немедленно. Чтобы внести изменения в Политику безопасности домена, на контроллере домена используйте утилиту Политики безопасности домена в Панели управления.
Логика пакетного сценария с подключенными дисками или полным UNC-путем и проблемы.,,
Если ваш скрипт ссылается на подключенный сетевой диск, но вы хотите, чтобы он Run whether the user is logged on or not
затем, в этом контексте, отображение диска может фактически не быть там для пакетного процесса, чтобы сделать то, что ожидалось.
Если возможно, используйте UNC
пути в логике вашего пакетного сценария, а не буква подключенного диска, чтобы избежать проблем. В противном случае вам может понадобиться PUSHD \\ServerName\ShareName
в начале пакетного процесса, а затем использовать POPD
в конце пакетного процесса. Вы можете сопоставить диск с NET USE X: \\ServerName\ShareName
в начале пакетного процесса, а затем отключите диск с NET USE X: /DELETE
в конце пакетного процесса.
ДРУГАЯ
ПЕЧАТНЫЕ ЭКРАНЫ
Экран печати A
Экран печати B
Экран печати C