如何使用 Chef 在 Windows 节点上 运行 AutoIT 脚本?

How to run an AutoIT script on Windows Node using Chef?

我正在尝试通过使用 Chef 将已编译的 AutoIT 脚本连同相应的安装程序 - 我一直在使用这种方法,因为并非所有 .exe 文件都有静默安装程序,并且在我的(有限)经验中,有时 GUI 安装程序使用户可以更好地控制应用程序,允许用户将应用程序设置为 "Check for updates manually",等等。

我编译的 AutoIT 脚本运行完美,但出于某种原因,Chef 不会 运行 这些 .exe 文件。

我用 Chef 尝试了以下方法(将应用程序安装程序和 AutoIT 编译脚本都放在 'C:\To_Install' 中):

    powershell_script 'Run AutoIT installer with PowerShell' do 
         code <<-EOH

         C:\To_Install\#{fileName}

         EOH
     end

    execute 'Run AutoIT installer with CMD' do 
        command "C:\To_Install\#{fileName}"
    end

我确信我希望安装的所有应用程序都已无误地传输到节点,并且 Chef 正在以所有其他方式正确地与节点交互(设置时钟、更改用户权限和设置、创建目录等等)。

我是否忽略了什么? Chef 运行 .exe 文件是否通过与典型用户不同的进程处理?

提前致谢!

从评论中复制下来:

是的,所以 WinRM 在 "headless session" 中运行。图形工具通常不起作用。我不知道有什么好办法解决这个问题。您需要修复您的安装程序以获得真正的静默模式,或者使用 MSI 或 Nuget 重新打包它们。