Проблемы с планированием задачи на 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
  • 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 эта привилегия предоставляется с помощью локальной или доменной политики безопасности. Чтобы сделать это с помощью локальной политики безопасности, выполните следующие действия.

  1. На панели управления откройте Администрирование, затем Локальная политика безопасности.
  2. Под настройками безопасности откройте Локальные политики и выделите Назначение прав пользователя.
  3. Найдите Вход в систему как пакетное задание. Откройте свойства и добавьте пользователей, которым необходимо это право.
  4. Когда закончите, сохраните ваши изменения и закройте окно 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

Другие вопросы по тегам