Realizar acciones desde Linux (Windows - Linux)

Estimados buenos días, Estoy trabajando con ansible recientemente, he realizado tareas desde mi Fedora de Linux a Linux de Windows a Windows y no he presentado inconvenientes, pero no he encontrado la manera de realizar acciones de Windows a Linux o viceversa.
Ejemplo:
Estoy con mi ansible instalado en Fedora, y Quiero copiar un archivo Desde Windows 192.168.20.160 (C:/prueba/fichero.txt) a mi Oracle Linux 192.168.104.120 (/tmp/)

He configurado mi inventario de la siguiente manera

[windows]
192.168.20.160

[windows:vars]
ansible_user= prov
ansible_password= 2024$$
ansible_port=5985
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
ansible_winrm_transport= ntlm
ansible_winrm_scheme = http

[linux]
192.168.104.120

[linux:vars]
ansible_user= root
ansible_password= JGG$$%

He generado este código

  • name: trabajar con windows
    hosts: 192.168.20.160
    vars:
    directorio1: C:\prueba
    directorio2: /root/tmp/

    tasks:

    • name: Copiar archivo
      ansible.windows.win_copy:
      src: “{{directorio1}}/fichero.txt”
      dest:“{{directorio2}}/fichero.txt”

He intentado de varias maneras, pero no he tenido éxito,
Como les menciono no he tenido problemas con la iteración de Windows a Windows y de Linux a Linux

Hola Douglas, ¡bienvenido al Foro de la Comunidad Ansible!

No es que suela usar mucho Ansible contra nodos windows, pero le dí un vistazo a la documentación del módulo ansible.windows.win_copy, y lo primero que vi fué lo siguiente:

The `win_copy` module copies a file on the local box to remote windows locations.

Es decir, que el parámetro src del módulo corresponde con la ubicación de un archivo origen (local) en tu nodo de control Ansible que quieras transferir al nodo gestionado o remoto (windows), mientras que el parámetro dest requiere que se especifique la ruta y nombre de archivo destino en el nodo Windows.

Luego, si lo que quieres es hacer lo contrario usando el módulo ansible.windows.win_copy (pasar archivos del nodo remoto Windows al nodo de control Ansible o a cualquier otro nodo Linux), entiendo que deberás crear un network share SMB para el destino y especificar la ruta en el parámetro dest, ademas de especificar remote_src: true.

Por ejemplo:

tasks:

  - name: Copiar archivo
    ansible.windows.win_copy:
      src: C:\prueba\file.txt
      dest: \\linux_smb_server\MyShare\MyDir\file.txt
      remote_src: true

Esto a grandes rasgos podría servirte (sin tener en cuenta la gestión de credenciales SMB, etc), aunque no he tenido ocasión de testearlo para tu caso en concreto. Si encuentro un hueco más tarde trataré de probarlo.

Saludos