Почему моя запланированная задача завершается с ошибкой (0x4)

У меня запланированное задание, которое должно запускать командный файл. Пакетные файлы запускают файл при вызове самостоятельно, но не запускаются при переносе в запланированное задание.

Вот как выглядит диалог:

введите описание здесь

4 ответа

В моем случае решение заключалось в замене подключенного диска на полный путь. Так что вместо:

XCOPY C:\DATA Z:\ (где Z - это диск \\SERVER\DATA$)

Я изменился на:

XCOPY C:\DATA \\SERVER\DATA$

Я запускаю задачу от имени администратора, и она работает как шарм.

Это предположение. Но высокий возможен. Выполнение.bat или.cmd действительно подразумевает выполнение cmd.exe. В Windows по некоторым (я думаю, из соображений безопасности) cmd.exe исполняем только для интерактивного пользователя. Так что это может быть выполнено только когда пользователь вошел в систему локально.

Дайте некоторой группе право на выполнение cmd.exe в качестве запланированной задачи и назначьте пользователя, от которого выполняется эта задача, в эту группу.

Мне удалось обойти это, используя комбинацию утилиты Robocopy (для более надежного ведения журнала и обработки ошибок) и команды NET USE.

NET USE B: \\remote-machine\location RemotePassword /user:remote-machine\RemoteUserName

robocopy.exe B:\ D:\backups /NP /LOG+:D:\robocopy\robocopy.log /R:10 /W:5

Этот скрипт сопоставляет удаленное местоположение с сетевым диском B: используя указанные имя пользователя и пароль для удаленного компьютера.

Затем Robocopy копирует содержимое папки в сетевой папке в папку D:\backups. Это также позволит записать данные в указанный файл журнала robocopy, чтобы вы могли увидеть, сколько файлов было скопировано и т. Д.

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

Источник

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