Copy File from Azure Storage mapped drive to VM

Hi,

I’m trying to get Ansible to copy files from a mapped azure drive locally but I keep getting the below error:

fatal: [192.168.1.193]: FAILED! => {“changed”: false, “dest”: “C:\Temp\dotNET53”, “msg”: “Cannot copy src file: ‘Z:\Software\Microsoft\dotNET3\microsoft-windows-netfx3.cab’ as it does not exist”, “src”: “Z:\Software\Microsoft\dotNET3\microsoft-windows-netfx3.cab”}

My code is:

  • name: Copy dotNET 3.5 CAB File to Server
    win_copy:
    src: Z:\Software\Microsoft\dotNET3\microsoft-windows-netfx3.cab
    dest: “{{ Generic_Temp_Path }}\dotNET53”
    remote_src: true

All the online reading I’ve done seems to point to double hop creds being the issue. But I’m a bit stuck since the authentication to the mapped drive is using the storage key as the pass and localhost\storageaccountname as username.

If I log in as ansible_user then run net use shows the drive mapped. I can’t switch to Azure AD auth as the boxes may or may not be joined.

Has anyone got any suggestions? I didnt think this would be so complex haha!

Thanks,

Brad.

Im afraid that didnt work. Still getting the same issues.

I’ve been playing with win_shell also and still same issue. Im actually executing two roles in my playbook. The first role is Add storage creds & map drive & the second is the copy file.

  • name: Add storage creds & map drive
    block:

  • name: Adding creds for mapped drive
    win_credential:
    name: storage.file.core.windows.net
    type: domain_password
    username: localhost\storage
    secret: “{{ storage_account_keys.json[‘keys’].0.value }}”

  • name: Map drive
    win_mapped_drive:
    letter: Z
    path: \storage.file.core.windows.net\cmdb
    username: localhost\storage
    password: “{{ storage_account_keys.json[‘keys’].0.value }}”
    vars:
    ansible_become: yes
    ansible_become_method: runas
    ansible_become_user: “{{ ansible_user }}”
    ansible_become_password: “{{ ansible_password }}”

  • name: Copy File
    #win_shell: Copy-Item Z:\Software\Microsoft\dotNET3\microsoft-windows-netfx3.cab -Destination “{{ Generic_Temp_Path }}\dotNET53\microsoft-windows-netfx3.cab”
    win_shell: Copy-Item \storage.file.core.windows.net\cmdb\Software\Microsoft\dotNET3\microsoft-windows-netfx3.cab -Destination “{{ Generic_Temp_Path }}\dotNET53\microsoft-windows-netfx3.cab”
    vars:
    become: true
    become_method: runas
    #become_user: SYSTEM
    become_user: “{{ ansible_user }}”
    become_password: “{{ ansible_password }}”
    #become_flags: logon_type=new_credentials logon_flags=netcredentials_only
    become_flags: logon_type=interactive logon_flags=netcredentials_only

If I login as {{ ansible_user }} and run net use without UAC and I can see the Z:. Yet Ansible will not copy the file. Ive played with various become flags and all fail.

Any ideas?

Cheers!