电源壳 |将鼠标移动到坐标并单击鼠标左键

Powershell | Move mouse to coordinates and left-click

我正在设置一个非常古老的软件的自动部署。它太旧了,没有静默安装选项。我已经使用 ProcessExplorer 检查了安装程序,并确认 Strings 中没有静默开关。为了解决这个问题,我正在手动安装组件。

我的目标是让我的部署软件调用一个 PowerShell 脚本,该脚本调用安装程序,然后将鼠标移到下一个按钮,并像最终用户那样完成这些动作。我已经让部署软件执行准备步骤,并调用程序安装程序。它将需要一些等待函数来解决不同计算机之间的不同处理时间。并且它需要能够处理在具有不同尺寸屏幕的计算机上调用的脚本。

这可能吗?

如前所述 - 使用鼠标不会那么容易,因为需要使其在不同的计算机(屏幕尺寸......)上工作。 如果需要 PowerShell,您可以尝试使用发送密钥:

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait("%n{TAB}{ENTER}")

来源:

我知道软件部署工具(例如 baramundi)可能具有 built-in 脚本功能来自动执行类似的操作,但您可以构建自己的应用程序来帮助您进行安装。 如果您的安装程序兼容,您可以使用 Autoit 创建几乎无懈可击的安装程序。只需获取 Autoit,尝试是否可以使用“AutoIt Window Info”中的查找器工具(尝试 x86 和 x64)。如果它可以直接“找到”你的按钮,你需要你可以等待那个window,那个按钮然后用controlClick功能按下它:https://www.autoitscript.com/autoit3/docs/functions/ControlClick.htm

第三种方式 - 最好的解决方案,尤其适用于旧软件 - 根据安装例程,您可以构建自己的安装程序。在某些情况下,复制必要的文件夹、文件和注册表项可能就足够了。对于其他情况,您可以使用 Procmon 监视安装过程并执行正常安装期间发生的其他事情。 https://docs.microsoft.com/en-us/sysinternals/downloads/procmon 在试错部署中使用 Procmon 对您来说可能就足够了。只需从工作客户端复制安装,尝试启动应用程序,阅读错误消息,并借助您在 procmom.happened/failed 中看到的操作解决问题。