Issue with using raw module with double quoted parameters under Windows

149 views
Skip to first unread message

Alexey Larsky

unread,
Apr 21, 2016, 5:33:05 PM4/21/16
to Ansible Project
I've stuck with using raw module with double quoted parameters under Windows.
According with http://docs.ansible.com/ansible/intro_windows.html
- raw: cmd /c "net use \\server\share  & second_command"  works, but how to use double quoted parameter(s) with spaces inside cmd /c "..." ?
- raw: cmd /c "net use "\\server\share with spaces" & second_command" throw errorfatal: [...]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_args": {"_raw_params": "cmd /c \"net use \"\\\\server\share with spaces\"\""}, "module_name": "raw"}, "rc": 1, "stderr": "System error 5 has occurred.\r\n\r\nAccess is denied.\r\n\r\n", "stdout": "", "stdout_lines": []}

PS. Ansible: 2.0.1.0, sever: CentOS Linux release 7.2.1511 (Core), client: Windows 7 SP1 x64.

Matt Davis

unread,
Apr 21, 2016, 6:18:21 PM4/21/16
to Ansible Project
I'm a little suspicious, since the error you're getting is "Access is Denied" not "The network name cannot be found" (which is what I'd expect if the path/quotes were being munged).

That said, throwing the extra command interpreter in there really makes you have to thread the needle- you have to deal with:
- YAML quoting
- outer cmd quoting
- powershell quoting
- inner cmd quoting

For better or for worse, "raw" is really powershell, so why not at least scrape the bottom-most layer off and do:

- raw: net use "\\server\share with spaces\" ; (other command here)

Aleksey Tsalolikhin

unread,
Apr 22, 2016, 12:03:31 AM4/22/16
to ansible...@googlegroups.com
Are you quite sure that using the script module is not an option?  It just makes life so much easier not having to deal with "theading the needle" as Matt Davis wrote.

--
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-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/ed6c4623-5355-4986-a512-cb3c16c224a3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Alexey Larsky

unread,
Apr 22, 2016, 2:31:49 AM4/22/16
to Ansible Project
Thanks a lot Matt and Alexey!
The pure powershell piping by Matt is what I needed.

пятница, 22 апреля 2016 г., 7:03:31 UTC+3 пользователь Aleksey Tsalolikhin написал:
Reply all
Reply to author
Forward
0 new messages