win_command - Executes a command on a remote Windows node
New in version 2.2.
Synopsis
- The
win_commandmodule 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:HOMEand 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. Thewin_commandmodule is much more secure as it’s not affected by the user’s environment. -
creates,removes, andchdircan 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