Доступ к локальному приложению Outlook через удаленное соединение с pywin32 в python - PullRequest
0 голосов
/ 05 марта 2020

Я хотел бы использовать pywin32 API с python, работающим на удаленном windows сервере, для работы с пакетом Microsoft (Outlook et c.), Который расположен на локальной машине (с которой я подключаюсь к удаленному server).

Следующий код использует пакет win32com для отправки приложения Outlook:

import win32com.client as wc
import os

win_local_path = os.path.join(r"\\local_machine", "C")
os.chdir(win_local_path)

outlook = wc.Dispatch("Outlook.Application").GetNamespace("MAPI")

Это происходит сбой, поскольку клиент win32 ищет приложения Outlook на сервере, где python запущен, а не на локальной машине, где живет приложение Outlook. Нет проблем с поиском локального компьютера, например, с помощью os.listdir (win_local_path).

Есть ли способ сообщить клиенту pywin32, что нужно искать приложение в локальной системе?

1 Ответ

0 голосов
/ 09 марта 2020

Вам необходимо подготовить два сценария Python, один на удаленном компьютере, а другой на локальном компьютере.

Сначала подключитесь к локальному компьютеру с удаленного компьютера.

from paramiko.client import SSHClient

client = SSHClient()
client.load_system_host_keys()
client.connect('remote machine ip', username='your_user', password='very_secret')
stdin, stdout, stderr = client.exec_command('python /home/your_user/your/path/to/outlook.py')

Во-вторых, приведенный выше код выполнит ваш локальный .py код, который использовался для открытия приложения outlook.

В-третьих, вам просто нужно сохранить код, написанный в вашем вопросе, на локальном компьютере.

См .: Запуск процесса на другом компьютере в сети

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