如何使用Ansible从Windows节点获取文件

时间:2016-02-17 16:43:38

标签: windows ansible fetch

我想通过ansible获取已在Windows节点上创建的文件(info.txt)。我试图使用fetch模块(在linux节点上适用于我),这似乎不适用于Windows客户端。以下是相关代码:

task:
  -name: Fetch a info file
   fetch: src=C:\info.txt dest=/home/user flat=yes 

我没有收到任何错误,但未提取该文件。我在本地机器上运行ubuntu。难道我做错了什么?感谢

以下是使用-vvv选项运行的playbook的输出:

If (Test-Path -PathType Leaf "C:\info.txt")
{
$sp = new-object -TypeName   System.Security.Cryptography.SHA1CryptoServiceProvider;
$fp = [System.IO.File]::Open("C:\info.txt[System.IO.Filemode]::Open, [System.IO.FileAccess]::Read);
[System.BitConverter]::ToString($sp.ComputeHash($fp)).Replace("-", "").ToLower();
$fp.Dispose();
}
ElseIf (Test-Path -PathType Container "C:\info.txt")
{
Write-Host "3";
}
Else 
{
Write-Host "1";
} 
<192.168.122.123> FETCH "C:\info.txt" TO "/home/diego/work/ansible_win/ex1"

已更改:[win1] =&gt; {“changed”:true,“checksum”:null,“dest”:“/ home / diego / work / ansible_win / ex1”,“invocation”:{“module_args”:{“dest”:“/ home / diego / work / ansible_win / ex1“,”flat“:”yes“,”src“:”C:/info.txt“},”module_name“:”fetch“},”md5sum“:null,”remote_checksum“:”9664e0d22d3e184eb206d60af29e340f620092d0 “,”remote_md5sum“:null}

1 个答案:

答案 0 :(得分:4)

使用以下代码对我有用:

task:
  - name: Fetch a info file
    fetch: src=C:/info.txt dest=/home/user/info.txt flat=yes 

与之前的代码相比,我更改了&#34; windows&#34;反斜杠斜杠并在dest路径末尾添加文件名。