win_command - Выполняет команду на удалённом узле Windows
Новое в версии 2.2.
Описание
- Модуль
win_commandпринимает имя команды, за которым следует список аргументов, разделённых пробелами. - Указанная команда будет выполнена на всех выбранных узлах. Она не будет обработана через оболочку, поэтому такие переменные, как
$env:HOMEи операции, такие как"<",">","|", и";", не будут работать (используйте модуль win_shell, если вам необходимы эти функции). - Для узлов, не являющихся Windows, используйте модуль command вместо него.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| chdir | Устанавливает указанный путь как текущую рабочую директорию перед выполнением команды. | |
| creates | Путь или шаблон фильтра пути; когда указанный путь существует на целевом узле, задача будет пропущена. | |
| free_form обязательно | Модуль win_command принимает произвольную команду для выполнения.Фактически параметра с именем 'free form' нет. Смотрите примеры! | |
| removes | Путь или шаблон фильтра пути; когда указанный путь не существует на целевом узле, задача будет пропущена. | |
| stdin (добавлен в 2.5) | Устанавливает stdin команды напрямую на указанное значение. |
Примечания
Примечание
- Если вы хотите выполнить команду через оболочку (например, используя
<,>,|, и т.д.), вам на самом деле нужен модуль win_shell. Модульwin_commandнамного безопаснее, поскольку он не зависит от среды пользователя. -
creates,removes, иchdirмогут быть указаны после команды. Например, если вы хотите выполнить команду только в случае, если определённый файл не существует, воспользуйтесь этим. - Для узлов, не являющихся Windows, используйте модуль command вместо него.
Примеры
- 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\
- name: Run an executable and send data to the stdin for the executable
win_command: powershell.exe -
args:
stdin: Write-Host test
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| cmd строка | всегда | Команда, выполненная задачей Пример: rabbitmqctl join_cluster rabbit@master |
| delta строка | всегда | Время выполнения команды Пример: 0:00:00.325771 |
| end строка | всегда | Время завершения выполнения команды Пример: 2016-02-25 09:18:26.755339 |
| msg булево | всегда | изменено Пример: True |
| rc целое | всегда | Код возврата команды (0 означает успех) |
| start строка | всегда | Время начала выполнения команды Пример: 2016-02-25 09:18:26.429568 |
| stderr строка | всегда | Стандартная ошибка команды Пример: ls: cannot access foo: No such file or directory |
| stdout строка | всегда | Стандартный вывод команды Пример: Clustering node rabbit@slave1 with rabbit@master ... |
| stdout_lines список | всегда | Стандартный вывод команды, разделенный на строки Пример: ["u'Clustering node rabbit@slave1 with rabbit@master ...'"] |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль помечен как ядро, что означает, что он поддерживается Командой ядра Ansible. Смотрите Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, которые также поддерживаются Командой ядра Ansible, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний
Автор
- Matt Davis (@nitzmahone)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/win_command_module.html