- RPA门户
51RPA小编对于这篇文章一直犹豫要不要发,内容太干了,太技术了,不知道是不是能贴合所有人口味。居实施过大型企业RPA项目的小伙伴们,肯定会遇到这样的问题,当机器人部署在虚拟机上,然后关闭mstsc之后,虚拟机windwows会失去GUI交互能力 ,导致键盘,鼠标之类操作通通失效。
啥? 有些玩RPA的还没经历这个步骤 ?我举个最简单的RPA例子:
让RPA机器人打开Baidu ,鼠标点一下输入栏,输入”51RPA”,点“百度一下”按钮
相信我们在正常人来做这件事情就和玩一样简单,但当你让这个把RPA部署在虚拟机,并且关闭远程桌面连接后,你发现RPA机器人只干了一件事,那就是打开了Baidu ,后面的几步都失效了。
【必备知识】
如果还想了解的更深入,请参见以下链接:
https://blogs.technet.microsoft.com/markrussinovich/2010/02/24/pushing-the-limits-of-windows-user-and-gdi-objects-part-1/ (Mark Russinovich 大拿的文章)
https://docs.microsoft.com/zh-cn/windows/desktop/winstation/window-stations-and-desktops (微软官方文章)
首先需要知道3个在Windows 操作系统中的经常用的对象:
Session、Windows Station 、 Desktop。
▲ Session 用户会话
Win7的任务管理器是可以设置查看会话 ID的,Win10单独多了用户TAB
Windows Station
▲ Desktop 桌面
WinSta0 包含至少三个Desktop:登录(WinLogon)、屏保(ScreenSaver)、默认(Default)
激活状态的Desktop才能接收用户输入,钩子才能获取其中的某个窗口消息。
▲ 原因
有了以上知识的铺垫,现在这个问题就很容易解释了。 当关闭远程桌面后,机器人所在的那台Windows会锁屏并切换到用户登陆桌面。用户登陆桌面自然无法完成那些人机交互。
【那么如何解决问题呢?】
▲解决方法
@%windir%\System32\tscon.exe 0 /dest:console
@%windir%\System32\tscon.exe 1 /dest:console
@%windir%\System32\tscon.exe 2 /dest:console
本文是51RPA中文社区原创文章。发布者:RPA小当家,转载请注明出处:https://www.51rpa.net/rpaedu/1027.html
本文来自RPA学院