ansible / 2.4.6 / win_command_module.html /

win_command - Executes a command on a remote Windows node

New in version 2.2.

Synopsis

  • The win_command module takes the command name followed by a list of space-delimited arguments.
  • The given command will be executed on all selected nodes. It will not be processed through the shell, so variables like $env:HOME and operations like "<", ">", "|", and ";" will not work (use the win_shell module if you need these features).
  • For non-Windows targets, use the command module instead.

Options

parameter required default choices comments
chdir
no
set the specified path as the current working directory before executing a command
creates
no
a path or path filter pattern; when the referenced path exists on the target host, the task will be skipped.
free_form
yes
the win_command module takes a free form command to run. There is no parameter actually named 'free form'. See the examples!
removes
no
a path or path filter pattern; when the referenced path does not exist on the target host, the task will be skipped.

Examples

- name: Save the result of 'whoami' in 'whoami_out'
  win_command: whoami
  register: whoami_out

- name: Run command that only runs if folder exists and runs from a specific folder
  win_command: wbadmin -backupTarget:C:\backup\
  args:
    chdir: C:\somedir\
    creates: C:\backup\

Return Values

Common return values are documented here Return Values, the following are the fields unique to this module:

name description returned type sample
cmd
The command executed by the task
always string rabbitmqctl join_cluster rabbit@master
delta
The command execution delta time
always string 0:00:00.325771
end
The command execution end time
always string 2016-02-25 09:18:26.755339
msg
changed
always boolean True
rc
The command return code (0 means success)
always int 0
start
The command execution start time
always string 2016-02-25 09:18:26.429568
stderr
The command standard error
always string ls: cannot access foo: No such file or directory
stdout
The command standard output
always string Clustering node rabbit@slave1 with rabbit@master ...
stdout_lines
The command standard output split in lines
always list ["u'Clustering node rabbit@slave1 with rabbit@master ...'"]

Notes

Note

  • If you want to run a command through a shell (say you are using <, >, |, etc), you actually want the win_shell module instead. The win_command module is much more secure as it’s not affected by the user’s environment.
  • creates, removes, and chdir can be specified after the command. For instance, if you only want to run a command if a certain file does not exist, use this.
  • For non-Windows targets, use the command module instead.

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance Info

For more information about Red Hat’s this support of this module, please refer to this knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/win_command_module.html