Wie verwende ich Platzhalter im Modul „win_stat“ in Ansible?

Wie verwende ich Platzhalter im Modul „win_stat“ in Ansible?

Ich habe das folgende Ansible-Skript erstellt, in dem ich mit einem Platzhalter überprüfe, ob ein Verzeichnis vorhanden ist oder nicht, aber es ist bei mir fehlgeschlagen:

- host: windows

  vars:

    dir: 'c:\inetpub\wwwroot\mysite*' # without * playbook working well

  tasks:

    - name : check dir
      win_stat:
        path: "{{ dir }}"
      register: dirdata

    - name: check
      fail:
        msg: not present
      when: dirdata.stat.exists == false

Es tritt der folgende Fehler auf:

    FAILED: => { " argument for the path is of type System.String and we were unable to convert to path: Illaegel characters in path.”}

Kann mir jemand dasselbe vorschlagen? Vielen Dank im Voraus.

Antwort1

Der Fehler liegt daran, dass der Ansible Control Node einen Pfad auf einem Remote Node nicht erweitern kann, ohne eine Verbindung hergestellt und nach ihm gesucht zu haben. Dies ist also das erwartete Verhalten.

Es gibt Module für die Verwendung mit Platzhaltern wieFileglob-Lookup – Listet Dateien auf, die einem Muster entsprechen, Aber

Der Abgleich erfolgt mit lokalen Systemdateien auf dem Ansible-Controller. Um eine Liste von Dateien auf einem Remote-Knoten zu iterieren, verwenden Sie dieansible.builtin.findModul.

in Ihrem Fallwin_findZu

Gibt eine Liste von Dateien basierend auf bestimmten Kriterien zurück.

verwandte Informationen