小编Gui*_*meN的帖子

使用 Ansible,如何对特定位置的每个文件执行操作?

我正在构建剧本来部署 Windows 应用程序,该应用程序需要在应用程序本身之前安装一些先决条件(Visual C++ 运行时和 dotNet 框架)。这些先决条件是 .EXE 文件并且都包含在特定文件夹中。

我想构建一个 Ansible 剧本,它将(除其他外)使用参数“/install /passive”执行 preriquisites 文件夹中的每个 .EXE 文件

我不想在我的剧本中指定每个文件名。

我的想法是首先使用“win_file”模块找到先决条件设置文件,将结果分配给一个变量,然后迭代该变量并为其包含的每个文件运行“win_command”模块。

不幸的是,我无法使用 register 语句将 win_find 结果分配给变量,它根本不执行任何操作。

这是我尝试过的:

- hosts: "{{ target }}"

  tasks:

  - name: Find files in path
    win_find:
      register: myvar
      paths: E:\Temp\Prognosis_11.2\Prerequisites

  - name: debug
    debug:
      msg: "{{ myvar }}"
Run Code Online (Sandbox Code Playgroud)

使用 -v(详细模式)运行时剧本的输出:

任务 [在路径中查找文件] ************************************************ ****************************************************** ****************************************************** ***********

ok: [SMN001] => {"changed": false, "examined": 5, "files": [{"attributes": "Archive", "checksum": "3049a85843eaf65e89e2336d5fe6e85e416797be", "15958697be", "15958609" ": ".exe", "filename": "NDP46-KB3045557-x86-x64-AllOS-ENU.exe", "isarchive": true, "isdir": false, …

windows ansible ansible-playbook

3
推荐指数
1
解决办法
809
查看次数

标签 统计

ansible ×1

ansible-playbook ×1

windows ×1