Windows Ansible运行远程exe文件

Windows Ansible运行远程exe文件,windows,ansible,ansible-playbook,winrm,Windows,Ansible,Ansible Playbook,Winrm,如何使用Ansible在远程Windows计算机上执行exe文件?我使用了原始、脚本和命令模块,但问题是,exe文件正在另一个会话中运行,无法在远程计算机的桌面上看到应用程序UI 第二个问题是ansible playbook在exe执行后不会向前移动 我们可以在active desktop会话中运行exe吗?我可以用psexec解决这些问题 #Creating the credential for the invoke-command. $strScriptUser = "COMPUTERNAM

如何使用Ansible在远程Windows计算机上执行exe文件?我使用了原始、脚本和命令模块,但问题是,exe文件正在另一个会话中运行,无法在远程计算机的桌面上看到应用程序UI

第二个问题是ansible playbook在exe执行后不会向前移动


我们可以在active desktop会话中运行exe吗?

我可以用psexec解决这些问题

#Creating the credential for the invoke-command.
$strScriptUser = "COMPUTERNAME\USer"
$strPass = "PASSWORD"
$PSS = ConvertTo-SecureString $strPass -AsPlainText -Force
$cred = new-object system.management.automation.PSCredential $strScriptUser,$PSS

#Invoke-Command to call the psexec to start the application.

invoke-command -Computer "." -Scriptblock {
c:\AnsibleTest\ps\psexec.exe -accepteula  -d -h -i 1 -u COMPUTERNAME\USER -p PASSWORD PATH_TO_THE_EXE\PROGRAM.EXE
}  -Credential $cred

我可以用psexec解决这些问题

#Creating the credential for the invoke-command.
$strScriptUser = "COMPUTERNAME\USer"
$strPass = "PASSWORD"
$PSS = ConvertTo-SecureString $strPass -AsPlainText -Force
$cred = new-object system.management.automation.PSCredential $strScriptUser,$PSS

#Invoke-Command to call the psexec to start the application.

invoke-command -Computer "." -Scriptblock {
c:\AnsibleTest\ps\psexec.exe -accepteula  -d -h -i 1 -u COMPUTERNAME\USER -p PASSWORD PATH_TO_THE_EXE\PROGRAM.EXE
}  -Credential $cred

您可以使用win_psexec模块进行此操作


您可以使用win_psexec模块进行此操作


我认为这是两个不同的问题。你的第一个问题不一定与Ansible有关。在我看来,您想知道如何通过ssh为活动Windows会话执行应用程序?如果你在没有回答的情况下再次问这个问题,你可能会得到更好/更快的答案。对于第二个问题,问题到底是什么?任务是挂起还是抛出错误?如何准确地调用exe?谢谢Daniel我同意你的看法,这不仅仅是Ansible,我想知道的是,我们可以用Ansible启动一个稳定的WinRM会话吗?我看不出我们可以通过原始、命令和脚本模块实现这一点。是否有其他方法启动会话以执行1。创建会话2。生成凭证3。将exe文件作为第二个问题的服务执行,是的,只要远程exe正在运行,它就会挂起。我已尝试使用以下方法调用exe 1。启动进程/file.exe 2。启动路径/file.exe 3。创建了本地/远程powershell脚本以执行相同的操作。我明白了,因此程序将继续运行。然后,您必须在后台运行该进程。我认为在Windows上可以像这样启动后台进程:启动/B C:\path\to\your.exe。但是我不知道WinRM会话。我已经用psexec解决了这个问题,它是一个非常有用的工具,我可以用它解决这两个问题。我认为这是两个不同的问题。你的第一个问题不一定与Ansible有关。在我看来,您想知道如何通过ssh为活动Windows会话执行应用程序?如果你在没有回答的情况下再次问这个问题,你可能会得到更好/更快的答案。对于第二个问题,问题到底是什么?任务是挂起还是抛出错误?如何准确地调用exe?谢谢Daniel我同意你的看法,这不仅仅是Ansible,我想知道的是,我们可以用Ansible启动一个稳定的WinRM会话吗?我看不出我们可以通过原始、命令和脚本模块实现这一点。是否有其他方法启动会话以执行1。创建会话2。生成凭证3。将exe文件作为第二个问题的服务执行,是的,只要远程exe正在运行,它就会挂起。我已尝试使用以下方法调用exe 1。启动进程/file.exe 2。启动路径/file.exe 3。创建了本地/远程powershell脚本以执行相同的操作。我明白了,因此程序将继续运行。然后,您必须在后台运行该进程。我认为在Windows上可以像这样启动后台进程:启动/B C:\path\to\your.exe。但是我不知道WinRM会话。我已经用psexec解决了这个问题,它是一个非常有用的工具,我可以用它解决这两个问题。