Скрипт Python с участием Outlook через win32com запускается при двойном щелчке, но не через планировщик задач

У меня есть скрипт Python, который отправляет электронное письмо с помощью win32com и Outlook. Сценарий работает без сбоев, когда я запускаю его через интерпретатор или дважды щелкаю по сценарию. Однако, когда я запускаю его через планировщик заданий, я получаю следующее сообщение:

«Что-то пошло не так. Нам не удалось запустить вашу программу. Попробуйте запустить ее еще раз. Если она не запустится, попробуйте восстановить Office из «Программы и компоненты» на панели управления».

Я использую Office 365 и Python 2.6. Я попытался запустить скрипт через планировщик после завершения процесса Outlook, но столкнулся с той же проблемой.


person chungsangh    schedule 03.02.2014    source источник
comment
Как вы настраиваете задачу в планировщике задач? Office не предназначен для работы в качестве службы, и его необходимо запускать в интерактивном режиме.   -  person Eric Brown    schedule 03.02.2014
comment
Я указываю скрипт Python как действие. Я ничего не изменил, кроме триггера, и разрешил ему работать, пока пользователь не вошел в систему с наивысшими привилегиями. Есть предположения?   -  person chungsangh    schedule 03.02.2014
comment
Да, вы не можете сделать это с Office. :( Единственный способ добиться того, чтобы это работало, — запустить его от имени пользователя, вошедшего в систему, на рабочем столе текущего пользователя с привилегиями текущего пользователя.   -  person Eric Brown    schedule 03.02.2014
comment
@EricBrown Большое спасибо! Я думаю, что это будет делать на данный момент. Я надеюсь, что он будет работать, пока компьютер заблокирован, но не выйдет из системы. Если вы ответите на ветку своим комментарием, я могу выбрать его в качестве решения, поскольку это то, что я хотел сделать :)   -  person chungsangh    schedule 03.02.2014


Ответы (1)


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

person Eric Brown    schedule 03.02.2014
comment
Это спасло мой день! С одной стороны, совершенно очевидно, что графические приложения не работают для незарегистрированных пользователей, но общая ошибка, которую я получал в последние дни, никак не помогла мне понять, что это была эта проблема (в моем случае MS Excel) . Запуск под зарегистрированным пользователем работает, как и ожидалось. Спасибо! - person Jakuje; 11.11.2017