Назад | Перейти на главную страницу

Планировщик заданий Server 2008 и файл CMD

Планировщик заданий - у меня есть файл .cmd, который я пытаюсь регулярно запускать через Планировщик заданий. Я поставил задачу, чтобы она указывала на cmd-файл. Я хочу, чтобы задача выполнялась, даже когда никто не вошел в систему. Я установил учетные данные, связанные с задачей, для учетной записи локальной службы. Когда я выполняю задачу, ничего не происходит. Результат последнего запуска показывает 0x1, это означает, что он не выполнялся должным образом. Когда я запускаю файл из командной строки, он работает нормально. Любая помощь будет оценена по достоинству. Я бы опубликовал код, но он содержит конфиденциальную информацию, и мне не разрешено выпускать код наружу. Спасибо

Создайте учетную запись пользователя, установите разрешения, чтобы задача могла выполняться от имени этого пользователя (например, разрешения на доступ к папке), запустите командную строку от имени этого пользователя (runas / user: domain \ user cmd), а затем попробуйте выполнить задачу.

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

редактировать: это не сработает, пока вы не примете во внимание ответ Шейна Мэддена о разрешениях на c: \ windows \ system32 \ cmd.exe также.

Из вашего вопроса неясно, выполняется ли задача как «ЛОКАЛЬНАЯ СИСТЕМА» или локальный пользователь, который является учетной записью службы.

Если,

  1. пользователь - это учетная запись локальной службы, а не системная учетная запись, и
  2. пользователь не входит в группу администраторов,

тогда вам нужно будет внести изменения в настройки безопасности cmd.exe - по умолчанию NTFS ACL позволяет выполнять его только администраторам и пользователям, вошедшим в систему в интерактивном режиме. (ссылка)

редактировать: О, и это применимо только к Windows 2003. В этом ответе я использую три безосновательных предположения ... дайте нам знать, какая ОС и уровень прав пользователя, и мы сможем сузить его.

У меня была аналогичная проблема, потому что мой файл .cmd находился в C: \ (root). После перемещения в другое место он отлично работал с планировщиком задач. В некоторых корпоративных средах существуют ограничения на корневом уровне C: \.

Для XP, 2000 и Server 2003 прочтите эту статью MS: «Единственный способ запланировать задачу в качестве системной учетной записи - использовать AT.EXE для планирования задачи»

http://support.microsoft.com/kb/223375

Для Vista и 2008 это может помочь https://stackoverflow.com/questions/77528/how-do-you-run-cmd-exe-under-the-local-system-account

Попробуйте pause в вашем скрипте. После этого вы сможете прочитать проблему.

В моем случае я получил access denied ошибка, так как скрипт начал работать в \windows\system32. Итак, после перехода в правильную папку (cd), это сработало.