References:
https://groups.google.com/forum/#!topic/ansible-devel/Jl5qP73CiKo



Place this copy.ps1 to
 /usr/lib/python2.6/site-packages/ansible/modules/core/windows/copy.ps1
 # https://gist.github.com/tkinz27/fd92ba9af0e0309614ee


Tho it's probably not needed if you can use the win_url module or if you
just want to run a powershell script, the script module works too.




On Tue, Jan 27, 2015 at 1:24 PM, Jaime Banda <alonso.ba...@gmail.com> wrote:

> Can you share your code that works an how did you did it?
>
>
> On Saturday, December 20, 2014 at 10:03:54 AM UTC-7, Jeffrey Liu wrote:
>>
>> Thanks.  I found out that win_copy has a pull request about to be merged
>> into 1.9
>>
>> I also found a resource for copy.ps1 which works -- I don't need all the
>> bells and whistles and a rudimentary copy function is all that's needed for
>> now.
>> Although, for the purposes of just running a powershell script, the
>> script module works well too.
>>
>> Thanks again!
>>
>>
>> On Wednesday, December 17, 2014 8:28:25 AM UTC-5, Matt Martz wrote:
>>>
>>> Ansible 1.8.x does not support the copy module for windows hosts.  A
>>> win_copy module was just merged into devel (which will become 1.9):
>>>
>>> https://github.com/ansible/ansible-modules-core/pull/384
>>> https://github.com/ansible/ansible/pull/9611
>>>
>>> On Tuesday, December 16, 2014, Jeffrey Liu <jl...@hanwave.net> wrote:
>>>
>>>> Hi All,
>>>>
>>>> I'm running Ansible 1.8.2 on a CentOS 6.6 server.
>>>>
>>>> I'm trying to copy a file to a windows host, but the copy module
>>>> fails.  The weird thing is that I do see that it does PUT the file over to
>>>> the remote windows host, but it fails when it tries to execute the
>>>> powershell to rename the file to the destination directory.
>>>> If I abort the command before it removes the temporary files I can
>>>> confirm the remote "source" file is the actual file.   It looks like the
>>>> failure is on the remote end to rename the file.   Any ideas if this can be
>>>> fixed?  It's a rather important feature for me to be able to distribute
>>>> powershell scripts for remote execution.
>>>>
>>>> Thanks!
>>>>
>>>>
>>>> [jklee@l99app09 poc]$ cat testcopy.yml
>>>> #  ansible-playbook -i hosts testcopy.yml 
>>>> --extra-vars="source='list-installed-programs.ps1'
>>>> d='C:\Users\jklee\list-installed-programs.ps1'"
>>>> ---
>>>> - hosts: windowsTest
>>>>   gather_facts: false
>>>>   tasks:
>>>>   - name: Test copy
>>>>     #copy: src=files/NewRelicServerMonitor_x64_3.3.2.0.msi
>>>> dest=C:\Users\Administrator\NewRelicServerMonitor_x64_3.3.2.0.msi
>>>>     copy: src="{{ source }}" dest="{{ d }}"
>>>>
>>>>
>>>> [jklee@l99app09 poc]$ ansible-playbook -i hosts testcopy.yml
>>>> --extra-vars="source='list-installed-programs.ps1'
>>>> d='C:\Users\jklee\list-installed-programs.ps1'"
>>>>  -vvv
>>>>
>>>> PLAY [windowsTest] ******************************
>>>> ******************************
>>>>
>>>> TASK: [Test copy] ******************************
>>>> *******************************
>>>> <w99app01.cloudapp.net> ESTABLISH WINRM CONNECTION FOR USER: jklee on
>>>> PORT 5986 TO w99app01.cloudapp.net
>>>> <w99app02.cloudapp.net> ESTABLISH WINRM CONNECTION FOR USER: jklee on
>>>> PORT 5986 TO w99app02.cloudapp.net
>>>> <w99app02.cloudapp.net> EXEC I f   ( T e s t - P a t h   - P a t h T y
>>>> p e   L e a f   " C : \ U s e r s \ j k l e e \ l i s t - i n s t a l l e d
>>>> - p r o g r a
>>>>  m s . p s 1 " )   {   $ s p   =   n e w - o b j e c t   - T y p e N a
>>>> m e   S y s t e m . S e c u r i t y . C r y p t o g r a p h y . S H A 1 C r
>>>> y p t o S e r
>>>>  v i c e P r o v i d e r ;   $ f p   =   [ S y s t e m . I O . F i l e
>>>> ] : : O p e n ( " C : \ U s e r s \ j k l e e \ l i s t - i n s t a l l e d
>>>> - p r o g r a
>>>>  m s . p s 1 " ,   [ S y s t e m . I O . F i l e m o d e ] : : O p e n
>>>> ,   [ S y s t e m . I O . F i l e A c c e s s ] : : R e a d ) ;   [ S y s t
>>>> e m . B i t C
>>>>  o n v e r t e r ] : : T o S t r i n g ( $ s p . C o m p u t e H a s h
>>>> ( $ f p ) ) . R e p l a c e ( " - " ,   " " ) . T o L o w e r ( ) ;   $ f p
>>>> . D i s p o s
>>>>  e ( ) ;   }   E l s e I f   ( T e s t - P a t h   - P a t h T y p e
>>>> C o n t a i n e r   " C : \ U s e r s \ j k l e e \ l i s t - i n s t a l l
>>>> e d - p r o g
>>>>  r a m s . p s 1 " )   {   W r i t e - H o s t   " 3 " ;   }   E l s e
>>>>   {   W r i t e - H o s t   " 1 " ;   }
>>>> <w99app02.cloudapp.net> EXEC ( N e w - I t e m   - T y p e   D i r e c
>>>> t o r y   - P a t h   $ e n v : t e m p   - N a m e   " a n s i b l e - t m
>>>> p - 1 4 1 8 7
>>>>  4 0 6 2 8 . 9 2 - 1 2 6 1 9 3 3 3 7 8 5 5 5 4 3 " ) . F u l l N a m e
>>>>   |   W r i t e - H o s t   - S e p a r a t o r   ' ' ;
>>>> <w99app02.cloudapp.net> PUT /home/jklee/poc/list-installed-programs.ps1
>>>> TO C:\Users\jklee\AppData\Local\Temp\ansible-tmp-1418740628.
>>>> 92-126193337855543\source
>>>> <w99app01.cloudapp.net> EXEC I f   ( T e s t - P a t h   - P a t h T y
>>>> p e   L e a f   " C : \ U s e r s \ j k l e e \ l i s t - i n s t a l l e d
>>>> - p r o g r a
>>>>  m s . p s 1 " )   {   $ s p   =   n e w - o b j e c t   - T y p e N a
>>>> m e   S y s t e m . S e c u r i t y . C r y p t o g r a p h y . S H A 1 C r
>>>> y p t o S e r
>>>>  v i c e P r o v i d e r ;   $ f p   =   [ S y s t e m . I O . F i l e
>>>> ] : : O p e n ( " C : \ U s e r s \ j k l e e \ l i s t - i n s t a l l e d
>>>> - p r o g r a
>>>>  m s . p s 1 " ,   [ S y s t e m . I O . F i l e m o d e ] : : O p e n
>>>> ,   [ S y s t e m . I O . F i l e A c c e s s ] : : R e a d ) ;   [ S y s t
>>>> e m . B i t C
>>>>  o n v e r t e r ] : : T o S t r i n g ( $ s p . C o m p u t e H a s h
>>>> ( $ f p ) ) . R e p l a c e ( " - " ,   " " ) . T o L o w e r ( ) ;   $ f p
>>>> . D i s p o s
>>>>  e ( ) ;   }   E l s e I f   ( T e s t - P a t h   - P a t h T y p e
>>>> C o n t a i n e r   " C : \ U s e r s \ j k l e e \ l i s t - i n s t a l l
>>>> e d - p r o g
>>>>  r a m s . p s 1 " )   {   W r i t e - H o s t   " 3 " ;   }   E l s e
>>>>   {   W r i t e - H o s t   " 1 " ;   }
>>>> fatal: [w99app02.cloudapp.net] => module copy not found in configured
>>>> module paths.  Additionally, core modules are missing. If this is a
>>>> checkout, run 'git sub
>>>> module update --init --recursive' to correct this problem.
>>>> <w99app01.cloudapp.net> EXEC ( N e w - I t e m   - T y p e   D i r e c
>>>> t o r y   - P a t h   $ e n v : t e m p   - N a m e   " a n s i b l e - t m
>>>> p - 1 4 1 8 7
>>>>  4 0 6 3 3 . 7 8 - 5 4 5 3 2 0 4 6 4 0 1 3 1 7 " ) . F u l l N a m e
>>>> |   W r i t e - H o s t   - S e p a r a t o r   ' ' ;
>>>> <w99app01.cloudapp.net> PUT /home/jklee/poc/list-installed-programs.ps1
>>>> TO C:\Users\Jklee\AppData\Local\Temp\ansible-tmp-1418740633.
>>>> 78-54532046401317\source
>>>> fatal: [w99app01.cloudapp.net] => module copy not found in configured
>>>> module paths.  Additionally, core modules are missing. If this is a
>>>> checkout, run 'git sub
>>>> module update --init --recursive' to correct this problem.
>>>>
>>>> FATAL: all hosts have already failed -- aborting
>>>>
>>>> PLAY RECAP ************************************************************
>>>> ********
>>>>            to retry, use: --limit @/home/jklee/testcopy.retry
>>>>
>>>> w99app01.cloudapp.net      : ok=0    changed=0    unreachable=1
>>>>  failed=0
>>>> w99app02.cloudapp.net      : ok=0    changed=0    unreachable=1
>>>>  failed=0
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Ansible Project" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to ansible-project+unsubscr...@googlegroups.com.
>>>> To post to this group, send email to ansible-project@googlegroups.com.
>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>> msgid/ansible-project/d625277b-618b-455f-a747-
>>>> 0bf678877173%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/ansible-project/d625277b-618b-455f-a747-0bf678877173%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>> --
>>> Matt Martz
>>> @sivel
>>> sivel.net
>>>
>>>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/ansible-project/sOv6_oJ0_rs/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> ansible-project+unsubscr...@googlegroups.com.
> To post to this group, send email to ansible-project@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/ef33e650-8c49-4c69-a76b-6f3a88800c47%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/ef33e650-8c49-4c69-a76b-6f3a88800c47%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CA%2B-8aE393i-G0TfzS1ufpY3o94SO1ptAO630Ra0L6VOXYYNfdw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to