有没有办法从RHEL连接到远程Windows服务器并执行执行图形用户界面自动化的Python程序

jum4pzuy  于 2022-09-20  发布在  Windows
关注(0)|答案(1)|浏览(147)

我们在RHEL 7.9上托管了我们的Jenkins服务器。我们希望从RHEL机器连接到远程Windows服务器,并执行一个python程序,该程序使用pywinauto包来操作在远程Windows服务器上运行的用于功能测试的图形用户界面应用程序。当从远程Windows服务器上的cmdline执行并希望从Jenkins作业触发脚本时,我们使用pywinauto的python脚本已经准备好并且工作正常。现在,在座的各位能告诉我应该想到什么选项才能从RHEL连接到远程Windows服务器并执行执行图形用户界面自动化的python脚本吗?

hzbexzde

hzbexzde1#

哈拉,我最近在CentOS 8上做了这件事,虽然这是相当有挑战性的。因为pywinAuto需要活动桌面才能在用户界面上执行操作。为此,我们不能做SSH或类似的方式。

以下是如何……一步一步来。

1.您可以使用从RHEL使用xFreeRDP进行到Windows服务器的RDP连接。

xfreerdp /u:username /p:password /v:hostname

参考文献-FreeRDP

到目前为止,所有工作都很顺利,从现在开始,你不能在RDP会话上执行命令来触发执行。

1.但Windows服务器是您的救世主。它提供了EVENTCREATE命令,允许您创建事件。它将在您Windows服务器中代表您创建事件。此命令将允许您灵活地安排作业。此命令创建的事件将在Windows的事件查看器实用程序中列出。要查看您创建的窗口事件,请给出有意义的消息。要创建事件,用户必须是管理员

示例-

eventcreate /t INFORMATION /id 1000 /d "Create event in WinMgmt source"
1.在此步骤中,您必须根据Windows上发生的事件设置/调度作业。通过右击事件,然后选择选项‘将任务附加到此事件...’或者直接进入任务调度(另一种Windows实用工具)。

A.打开任务调度。
B.右击根树节点--“任务调度库”
C.选择“创建任务...”选项。
D.将打开弹出窗口,以创建任务填充名称和任务描述。
E.选中“以最高权限运行”复选框。
F.转到触发器选项卡和新建按钮。
G.选择第一个“开始任务”下拉值为“在事件中”。
I.在弹出窗口的设置部分中,选择事件的日志类型。
二、源和事件ID值应类似于您将在自定义事件(步骤2事件)中使用的值。
三、根据需要选择其他日程安排设置。
I.转到Actions选项卡并点击New按钮。
J.在新建操作弹出窗口中,选择操作为“启动程序
K.在设置部分中选择要执行的程序(python脚本)和参数(如果有)。
L.点击OK,通过从cmd触发事件来测试事件和任务的连接(步骤2)
1.除了一个关键的部分外,这项工作现在几乎完成了。这就是如何从RHEL触发EventCreate命令。您可以通过使用SSH或pariko包编写小的Python代码来实现这一点。

注意事项

1.使用XfreRDP可以打开多个RDP终端。
1.多个xfreRDP窗口可以毫无困难地并行执行脚本。

相关问题