我正在尝试将这项工作暂时搁置一段时间,但想法已经不多了。
我有一个.msi文件,我想使用Ansible在Win7客户端上安装。 该剧本贯穿始终,但最终将不会安装该程序。
我也无法使用与.exe文件一起使用的“raw”命令,但似乎无法使用我的.msi文件。
规格:
$psversiontable
Name Value
---- -----
PSVersion 5.0.10589.117
我试图安装的操作系统是Win7 Proffesional。
Powershell版本是:
- name: Install zarafaclient version 7.2
win_msi:
path: 'C:\\temp_files\\z7.2.msi'
state: present
Playbook看起来像这样:
TASK [Install zarafaclient version 7.2] ****************************************
task path: /home/pfl/ansible/Provisioning-Windows-with-Ansible/playbook.yml:10
Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/windows/win_msi.ps1
<192.168.37.144> ESTABLISH WINRM CONNECTION FOR USER: fdsadm on PORT 5986 TO 192.168.37.144
<192.168.37.144> EXEC Set-StrictMode -Version Latest
(New-Item -Type Directory -Path $env:temp -Name "ansible-tmp-1481285937.55-262476455300775").FullName | Write-Host -Separator '';
<192.168.37.144> PUT "/tmp/tmp0l4Ayh" TO "C:\Users\fdsadm\AppData\Local\Temp\ansible-tmp-1481285937.55-262476455300775\win_msi.ps1"
<192.168.37.144> EXEC Set-StrictMode -Version Latest
Try
{
& 'C:\Users\fdsadm\AppData\Local\Temp\ansible-tmp-1481285937.55-262476455300775\win_msi.ps1'
}
Catch
{
$_obj = @{ failed = $true }
If ($_.Exception.GetType)
{
$_obj.Add('msg', $_.Exception.Message)
}
Else
{
$_obj.Add('msg', $_.ToString())
}
If ($_.InvocationInfo.PositionMessage)
{
$_obj.Add('exception', $_.InvocationInfo.PositionMessage)
}
ElseIf ($_.ScriptStackTrace)
{
$_obj.Add('exception', $_.ScriptStackTrace)
}
Try
{
$_obj.Add('error_record', ($_ | ConvertTo-Json | ConvertFrom-Json))
}
Catch
{
}
Echo $_obj | ConvertTo-Json -Compress -Depth 99
Exit 1
}
Finally { Remove-Item "C:\Users\fdsadm\AppData\Local\Temp\ansible-tmp-1481285937.55-262476455300775" -Force -Recurse -ErrorAction SilentlyContinue }
changed: [192.168.37.144] => {
"changed": true,
"invocation": {
"module_name": "win_msi"
},
"log": ""
}
PLAY RECAP *********************************************************************
192.168.37.144 : ok=2 changed=1 unreachable=0 failed=0
我也尝试了不同的语法,因此不应该是剧本。
如果我用-vvvv
运行它,这是我从ansible得到的insert
答案 0 :(得分:0)
它似乎是间距
的问题我认为你应该看起来像
- name: Install zarafaclient version 7.2
win_msi:
path: 'C:\\temp_files\\z7.2.msi'
state: present