ansible.windows.win_copy – Copies files to remote locations on windows hosts¶
This plugin is part of the ansible.windows collection (version 1.5.0).
To install it use:
ansible-galaxy collection install ansible.windows.
To use it in a playbook, specify:
win_copymodule copies a file on the local box to remote windows locations.
For non-Windows targets, use the ansible.builtin.copy module instead.
This module has a corresponding action plugin.
Currently win_copy does not support copying symbolic links from both local to remote and remote to remote.
It is recommended that backslashes
\are used instead of
/when dealing with remote paths.
Because win_copy runs over WinRM, it is not a very efficient transfer mechanism. If sending large files consider hosting them on a web service and using ansible.windows.win_get_url instead.
The official documentation on the community.general.assemble module.
The official documentation on the ansible.builtin.copy module.
The official documentation on the ansible.windows.win_get_url module.
The official documentation on the community.windows.win_robocopy module.
- name: Copy a single file ansible.windows.win_copy: src: /srv/myfiles/foo.conf dest: C:\Temp\renamed-foo.conf - name: Copy a single file, but keep a backup ansible.windows.win_copy: src: /srv/myfiles/foo.conf dest: C:\Temp\renamed-foo.conf backup: yes - name: Copy a single file keeping the filename ansible.windows.win_copy: src: /src/myfiles/foo.conf dest: C:\Temp\ - name: Copy folder to C:\Temp (results in C:\Temp\temp_files) ansible.windows.win_copy: src: files/temp_files dest: C:\Temp - name: Copy folder contents recursively ansible.windows.win_copy: src: files/temp_files/ dest: C:\Temp - name: Copy a single file where the source is on the remote host ansible.windows.win_copy: src: C:\Temp\foo.txt dest: C:\ansible\foo.txt remote_src: yes - name: Copy a folder recursively where the source is on the remote host ansible.windows.win_copy: src: C:\Temp dest: C:\ansible remote_src: yes - name: Set the contents of a file ansible.windows.win_copy: content: abc123 dest: C:\Temp\foo.txt - name: Copy a single file as another user ansible.windows.win_copy: src: NuGet.config dest: '%AppData%\NuGet\NuGet.config' vars: ansible_become_user: user ansible_become_password: pass # The tmp dir must be set when using win_copy as another user # This ensures the become user will have permissions for the operation # Make sure to specify a folder both the ansible_user and the become_user have access to (i.e not %TEMP% which is user specific and requires Admin) ansible_remote_tmp: 'c:\tmp'
Common return values are documented here, the following are the fields unique to this module: