4

У меня проблемы с расписанием задачи, которую я написал.

В основном я создал .bat файл, который выполняет сценарий R (script.R). Когда я дважды щелкаю по файлу .bar , он запускается. Я могу увидеть файл результатов, а также какой-то файл журнала в script.Rout

Когда я пытаюсь запустить все в планировщике, у меня возникают проблемы с его запуском. Когда я нажимаю на Run , чтобы запустить свою задачу, задача производит несколько записей на вкладке History , которая показывает мои старты задачи, а также заканчивается в ту же секунду. Так что в принципе ничего не исполняется.

Где я могу проверить, какая проблема возникает? Мой сценарий записывает некоторый вывод, который находится внутри этого .Rout но он не создается с помощью планировщика задач.

Я уже добавил своего пользователя в параметры политики, чтобы запланировать задачу, а также, отредактировав задачу, окна не жалуются, я думаю, что это не проблема.

Хотел бы получить помощь, чтобы найти проблему.

РЕДАКТИРОВАТЬ:

Теперь я понял, что моя задача выполняется до тех пор, пока я не выберу « Execute task whether user is logged in or not . Если я переключусь на этот параметр, мой сценарий не будет выполнен. Есть ли какая-то проблема безопасности?

1 ответ1

3

Проверка запланированного пакетного сценария планировщика заданий не выполняется

Свойства планировщика задач. , ,

Из Task Scheduler Windows о свойствах задания (см. Большинство снимков экрана внизу) в. , ,

  • 1. На вкладке Общие убедитесь, что нижеперечисленные параметры выбраны / отмечены или не отмечены, как показано на экране печати A

    • Снимите флажок Run only when user is logged on
    • Проверьте Run whether user is logged on or not
    • Проверьте Run with the highest privileges
  • 2. Условия Вкладка, убедитесь , что приведенные ниже варианты выбора, чек, или незарегистрированный так же , как показано на Print Screen 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .