【问题标题】:Access the local Outlook Application from remote connection with pywin32 in python在 python 中使用 pywin32 从远程连接访问本地 Outlook 应用程序
【发布时间】:2020-03-09 18:05:29
【问题描述】:

我想使用 pywin32 API 和在远程 Windows 服务器上运行的 python 来操作位于本地计算机(我从它连接到远程服务器)上的 Microsoft 套件(Outlook 等)。

以下代码使用 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 客户端正在运行 python 的服务器上寻找 Outlook 应用程序,而不是在 Outlook 应用程序所在的本地计算机上。使用例如定位本地机器没有问题。 os.listdir(win_local_path).

有没有办法告诉pywin32客户端在本地系统上寻找应用程序?

【问题讨论】:

    标签: winapi pywin32


    【解决方案1】:

    您需要准备两个 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 应用。

    第三,您只需将问题中编写的代码保存在本地计算机上即可。

    参考:Start a process on another computer on the network

    【讨论】:

    • @Chuck666 嗨,这个答案有用吗?如果您有任何问题,请告诉我。
    • 有没有办法在不使用 SSH 的情况下做到这一点? SSH 端口未在 atm 开放。
    猜你喜欢
    • 2013-10-29
    • 2019-10-12
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多