首页 > 解决方案 > 无法使用 win_copy 将文件复制到 Program Files

问题描述

我正在尝试使用将本地文件从我的计算机复制到 Windows Server 2019 数据中心,win_copy但不幸的是它似乎不起作用。

该文件尚未出现在文件夹中,它是 IPBan 的配置文件。

我已经做了什么:

- name: "Copy local file to remote folder"
  win_copy:
    src: "files/ipban_config/unban.txt"
    dest: "{{ ipban_path }}\\"
  register: ipban_copy

- name: "Debugging ipban path to confirm file upload"
  debug:
    var: ipban_copy
    verbosity: 2
  tags:
  - log

输出 :

TASK [../roles/install_ipban : Copy folder contents recursively] ***************
changed: [test]

详细输出 (-vvv)

TASK [../roles/install_ipban : Copy local file to remote folder] ****************************************************************************************************************************************task path: /home/feelproud/github/AnsibleCore/ansible/playbook/roles/install_ipban/tasks/main.yml:58
Using module file /usr/lib/python3/dist-packages/ansible/modules/windows/win_copy.ps1
Pipelining is enabled.
<XXXXXXXX> ESTABLISH WINRM CONNECTION FOR USER: XXXXXXXXX on PORT XXXXXX TO XXXXXXXXX
EXEC (via pipeline wrapper)
EXEC (via pipeline wrapper)
<XXXXXXXX> PUT "/home/feelproud/github/AnsibleCore/ansible/playbook/roles/install_ipban/files/ipban_config/unban.txt" TO "C:\Users\admin\AppData\Local\Temp\ansible-tmp-1615364316.523642-60734525627212\source"
Using module file /usr/lib/python3/dist-packages/ansible/modules/windows/win_copy.ps1
Pipelining is enabled.
EXEC (via pipeline wrapper)
EXEC (via pipeline wrapper)
changed: [test] => {
    "changed": true,
    "checksum": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "dest": "C:\\Program Files\\IPBan\\unban.txt",
    "operation": "file_copy",
    "original_basename": "unban.txt",
    "size": 13,
    "src": "files/ipban_config/unban.txt"
}

TASK [../roles/install_ipban : Debugging ipban path to confirm file upload] *****************************************************************************************************************************task path: /home/feelproud/github/AnsibleCore/ansible/playbook/roles/install_ipban/tasks/main.yml:64
ok: [test] => {
    "ipban_copy": {
        "changed": true,
        "checksum": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "dest": "C:\\Program Files\\IPBan\\unban.txt",
        "failed": false,
        "operation": "file_copy",
        "original_basename": "unban.txt",
        "size": 13,
        "src": "files/ipban_config/unban.txt"
    }
}

在此输出之后,我登录到我的机器并且该文件夹没有任何“unban.txt”文件。我试图强迫用户使用:

  vars:
    ansible_become_user: admin
    ansible_become_password: password

然后使用相同的用户凭据登录,但文件夹仍然是空的。

我的环境似乎不是问题,我使用本地 VM 进行测试,使用分子和 Azure Cloud 中的 VM。

标签: ansible

解决方案


推荐阅读