Рекомендуем, 2024

Выбор редакции

Исправить запланированное задание не запускается для файла .BAT

Если у вас есть файл .BAT, и вы пытаетесь настроить его автоматический запуск с помощью планировщика задач в Windows, возможно, вы столкнулись с проблемой, когда он просто не запускается, если вы не запустите задачу вручную.

Я создал командный файл, который удаляет все файлы из временной папки при каждом запуске компьютера. Я создал основную задачу в планировщике заданий и надеялся на лучшее. К сожалению, ничего не произошло, когда мой компьютер загрузился. После долгих проб и ошибок я понял, как запустить скрипт.

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

Шаг 1. Проверьте права доступа к файлам и папкам

Первым шагом к решению этой проблемы является обеспечение того, чтобы учетная запись, используемая для запуска сценария в планировщике заданий, имела разрешения «Полный доступ» для папки, содержащей сценарий, самого сценария и любых папок / файлов, к которым сценарий обращается при запуске.

Например, я создал следующий пакетный скрипт ниже:

 set folder = "C: \ test" cd / d% folder% for / F "delims =" %% i in ('dir / b') do (rmdir "%% i" / s / q || del "% % i "/ s / q) 

Я сохранил файл .BAT в папку «Мои документы». Путь C: \ Users \ имя пользователя \ Documents . Я пошел в C: \ Users \ username, щелкнул правой кнопкой мыши на папке Documents и нажал на Properties . Затем я нажал на вкладку Безопасность .

Как видите, учетная запись пользователя Aseem была явно добавлена ​​и получила разрешение « Полный доступ». Теперь вы должны сделать то же самое для папки, содержащей скрипт, и для самого скрипта. Не просто предполагайте, что если вы дадите разрешения для папки, содержащей сценарий, вы можете идти, потому что это не так. Наконец, установите разрешения для любых файлов и папок, с которыми будет взаимодействовать скрипт.

В моем случае мне нужно было перейти в C: \ test, щелкнуть правой кнопкой мыши по этой папке и добавить туда свою учетную запись с разрешениями «Полный доступ». Это отчасти раздражает, что вы должны это делать, но это единственный способ запустить скрипт.

Примечание . Учетная запись, используемая для запуска сценария, должна входить в локальную группу администраторов на компьютере. В моем случае учетная запись Aseem является учетной записью администратора и, следовательно, является частью локальной группы администраторов.

Шаг 2. Проверьте настройки планировщика заданий

Теперь перейдем к планировщику заданий и изменим там соответствующие настройки. Откройте планировщик задач и найдите свою задачу в разделе « Активные задачи ». Они должны быть перечислены в алфавитном порядке.

Дважды щелкните по нему, и он сам откроет задачу в том же окне. Чтобы отредактировать задачу, вам нужно будет щелкнуть ее правой кнопкой мыши и выбрать « Свойства» .

Здесь есть несколько вкладок, и пару вещей нужно проверить и изменить здесь. Во-первых, на вкладке Общие необходимо проверить учетную запись пользователя, которая используется для запуска задачи. В моем случае это учетная запись Aseem, которой я ранее дал разрешения в файловой системе и которая входит в группу администраторов на компьютере.

Далее необходимо выбрать параметр « Выполнить» независимо от того, вошел пользователь в систему или нет, и выбрать Windows Vista, Windows Server 2008 в поле « Настроить для» .

На вкладке « Действия » необходимо выбрать сценарий, нажать « Изменить», а затем добавить путь к папке, содержащей сценарий, в поле « Начать в (необязательно)» . Это может показаться ненужным, но это не так. В моем случае я поставил в поле C: \ Users \ Aseem \ Documents \ .

Теперь нажмите OK, чтобы сохранить настройки. Когда вы это сделаете, может появиться диалоговое окно, в котором вы должны ввести пароль для учетной записи пользователя, которая будет запускать задачу. Это выдвигает другое требование. Вы не можете использовать учетную запись, которая не имеет пароля. Учетная запись пользователя должна иметь пароль для запуска задачи.

Наконец, вы должны запустить задачу вручную один раз в планировщике задач, чтобы убедиться, что она выполняется. Если он работает нормально после того, как вы изменили все настройки, то он должен работать, когда он должен быть запущен. В моем случае это должно было произойти при запуске, и после внесения изменений все работало нормально.

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

Еще один момент, на который следует обратить внимание, - это если ваш скрипт обращается к ресурсам в общем сетевом ресурсе. Если ваш скрипт использует буквы для доступа к сети, он может не работать. Например, вместо того, чтобы использовать F: \ data \, вы должны использовать в сценарии \\ machinename \ share_name \ data \ . Если вы все еще не можете запустить скрипт, оставьте здесь комментарий, и я постараюсь помочь. Наслаждайтесь!

Top