是否可以将 AutoHotKey 与 Ansible 一起使用?

Is it possible to use AutoHotKey with Ansible?

我目前正在使用 Ansible 在 Windows 机器上安装不同的服务,但我需要在属性 window 中编辑一些参数。我已经尝试使用以下代码来 运行 我的 AHK 脚本,称为 CCM,但它没有按预期工作(不更改任何参数)。

  - name: Run CCM script to configure server
    win_psexec:
      command: 'C:\temp\CCM.exe'
      interactive: yes
      system: yes

我想知道是否可以将 AHK 与 Ansible 一起使用?

是的,可以从 Ansible 中 运行 AutoHotKey,尽管只有在没有其他脚本选项可行时才应该这样做

AHK 必须 运行 在控制台 GUI 会话中才能与 windows 桌面交互。这可以通过名为 psexec 的扩展程序来完成,它是 Windows Sysinternals Utilities 包的一部分。您可以从 Microsoft 免费下载。

https://docs.microsoft.com/en-us/sysinternals/downloads/

首先找到会话ID:

for /f "tokens=3" %i in ('qwinsta console ^| find "console"') do set GUI_SESSION_ID=%i

然后使用 psexec 启动 GUI 控制台会话,然后 运行 AutoHotkey 在此:

psexec -i %GUI_SESSION_ID% autohotkey myscript.ahk

然后您可以像往常一样运行 AHK 脚本。