win_command - Выполнение команды на удалённом узле Windows
Новая версия 2.2.
Описание
- Модуль
win_commandпринимает имя команды, за которым следует список аргументов, разделённых пробелами. - Указанная команда будет выполнена на всех выбранных узлах. Она не будет обработана через оболочку, поэтому переменные, такие как
$env:HOME, и операции, такие как"<",">","|", и";", не будут работать (используйте модуль win_shell, если вам необходимы эти возможности). - Для целей, не относящихся к Windows, используйте модуль command вместо этого.
Параметры
| параметр | обязательный | значение по умолчанию | варианты | примечания |
|---|---|---|---|---|
| chdir | нет | устанавливает указанный путь в качестве текущей рабочей директории перед выполнением команды | ||
| creates | нет | путь или шаблон фильтра пути; если указанный путь существует на целевом узле, задача будет пропущена. | ||
| free_form | да | модуль win_command принимает команду в произвольном формате для выполнения. Параметра с именем "free form" нет. Смотрите примеры! | ||
| removes | нет | путь или шаблон фильтра пути; если указанный путь не существует на целевом узле, задача будет пропущена. |
Примеры
- 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\
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, а следующие поля уникальны для данного модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| cmd | Команда, выполненная задачей | всегда | строка | rabbitmqctl join_cluster rabbit@master |
| delta | Время выполнения команды | всегда | строка | 0:00:00.325771 |
| end | Время завершения выполнения команды | всегда | строка | 2016-02-25 09:18:26.755339 |
| msg | изменено | всегда | булево | True |
| rc | Код возврата команды (0 означает успех) | всегда | целое число | 0 |
| start | Время начала выполнения команды | всегда | строка | 2016-02-25 09:18:26.429568 |
| stderr | Стандартная ошибка команды | всегда | строка | ls: невозможно получить доступ к foo: Нет такого файла или каталога |
| stdout | Стандартный вывод команды | всегда | строка | Узел кластера rabbit@slave1 подключён с rabbit@master ... |
| stdout_lines | Стандартный вывод команды, разделенный на строки | всегда | список | ["u'Узел кластера rabbit@slave1 подключён с rabbit@master ...'"] |
Примечания
Примечание
- Если вы хотите выполнить команду через оболочку (скажем, используя
<,>,|, и т. д.), вам на самом деле нужен модуль win_shell. Модульwin_commandзначительно безопаснее, поскольку не зависит от среды пользователя. -
creates,removes, иchdirмогут быть указаны после команды. Например, если вы хотите выполнить команду только в том случае, если определённый файл не существует, используйте это. - Для целей, не относящихся к Windows, используйте модуль command вместо этого.
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Информация о техническом обслуживании
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этом knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Если вы заинтересованы в разработке модулей, пожалуйста, прочитайте Информацию о сообществе и участии в разработке, Тестирование Ansible и Разработка модулей.
© 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