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 <[email protected]> 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 <[email protected]> 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 [email protected]. >>>> To post to this group, send email to [email protected]. >>>> 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 > [email protected]. > To post to this group, send email to [email protected]. > 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 [email protected]. To post to this group, send email to [email protected]. 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.
