Запланированное задание выполняется по требованию, но не само по себе с сохраненными учетными данными Windows

558
user1676874

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

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

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

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

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

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

Путь к серверу определяется IP-адресом, а не доменом.

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

Настройки другого запланированного задания:

  • Запускать только когда пользователь вошел в систему.
  • Триггер: каждый час.
  • Действие: Запустите программу.
  • Условие: запуск до тех пор, пока он подключен к любой сети.
  • Разрешить выполнение задачи по требованию.
  • Остановите задачу, если она выполняется дольше 5 минут
  • Если запущенное задание не заканчивается по запросу, принудительно остановите его.

Что может быть причиной такого поведения? Почему это не работает, когда задача запускается планировщиком?

0
Не совсем точно, но разрешено ли вам ставить галочку «запускать с наивысшими привилегиями»? Кроме того, пользователь, работающий, если не администратор домена, может потребоваться установить в объекте групповой политики в списке пользователей «Запуск от имени». Еще одна вещь, любое взаимодействие происходит на сетевом диске? Иногда при загрузке резервной копии компьютер не подключается к подключенным дискам, поэтому вы должны использовать только полные UNC-пути, например `\\ computer3 \ sharedDrive \ test`. Также убедитесь, что сам скрипт не ссылается на подключенный диск и использует UNC-пути. Narzard 6 лет назад 0
Я забыл упомянуть, но да, «Запуск с самыми высокими привилегиями» отмечен. Диск не подключен, путь следующий: `\\ #. #. #. # \ Folder \ app`. Я не уверен насчет этого конкретного аспекта GPO этого пользователя, я должен это проверить завтра. user1676874 6 лет назад 0
Указан ли пользователь в «При запуске задачи, используйте следующую учетную запись пользователя:« тот же пользователь, у которого есть разрешение на запуск приложения? Twisty Impersonator 6 лет назад 0
@TwistyImpersonator: Да. user1676874 6 лет назад 0
Задача запускает исполняемый файл, который хранится на другом компьютере? Что в поле, где вы указываете, какую программу для запуска? Twisty Impersonator 6 лет назад 0
@TwistyImpersonator Да, это то, что он делает. Путь к программе. \\ #. #. #. # \ Путь \ app.exe user1676874 6 лет назад 0
Является ли приложение командной строкой / консольной программой или графическим интерфейсом? Подумайте о том, чтобы задача запускала пакетный файл, который, в свою очередь, запускает приложение. Затем вы можете выполнить простую регистрацию в командном файле, чтобы увидеть, действительно ли задача может получить доступ к этому пути (например, проверить IP-адрес, подключить диск к удаленному общему ресурсу и т. Д.). Twisty Impersonator 6 лет назад 0
@TwistyImpersonator Это консольное приложение, оно работает в фоновом режиме. user1676874 6 лет назад 0
Кроме того, попробуйте запустить задачу после небольшой задержки. Twisty Impersonator 6 лет назад 0
Подождите секунду ... Если вам нужно войти в систему как пользователь, чтобы запустить задачу, почему вы должны были сохранить учетные данные пользователя в диспетчере учетных данных? Это бессмысленно. Twisty Impersonator 6 лет назад 0
@TwistyImpersonator Задача должна выполняться с активным пользователем. Указанный мной логин необходим только для общей сетевой папки, которая требует аутентификации user1676874 6 лет назад 0
@ user1676874 Интересно, в этом ли проблема? Попробуйте выполнить команду `net use`, чтобы подключить диск к целевому ресурсу перед запуском целевой команды. Вам нужно будет сделать это в командном файле. Twisty Impersonator 6 лет назад 0

0 ответов на вопрос