Spec-Zone.ru › Ansible 2.4

win_shell — Выполнение команд оболочки на целевых хостах.

Новая в версии 2.2.

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус
    • Информация о техническом обслуживании

Описание

  • Модуль win_shell принимает имя команды, за которым следует список аргументов, разделенных пробелами. Он похож на модуль win_command, но выполняет команду через оболочку (по умолчанию PowerShell) на целевом хосте.
  • Для целевых хостов, не являющихся Windows, используйте модуль shell.

Параметры

параметр обязательно по умолчанию варианты комментарии
chdir
нет
установить указанный путь в качестве текущей рабочей директории перед выполнением команды
creates
нет
путь или шаблон фильтра пути; если указанный путь существует на целевом хосте, задача будет пропущена.
executable
нет
изменить оболочку, используемую для выполнения команды (например, cmd). Целевая оболочка должна принимать параметр /c, за которым следует исходная командная строка для выполнения.
free_form
да
Модуль win_shell принимает команду в свободном формате для выполнения. Параметра с именем 'free form' фактически нет. См. примеры!
removes
нет
путь или шаблон фильтра пути; если указанный путь **не** существует на целевом хосте, задача будет пропущена.

Примеры

# Execute a command in the remote shell; stdout goes to the specified
# file on the remote.
- win_shell: C:\somescript.ps1 >> c:\somelog.txt

# Change the working directory to somedir/ before executing the command.
- win_shell: C:\somescript.ps1 >> c:\somelog.txt chdir=c:\somedir

# You can also use the 'args' form to provide the options. This command
# will change the working directory to somedir/ and will only run when
# somedir/somelog.txt doesn't exist.
- win_shell: C:\somescript.ps1 >> c:\somelog.txt
  args:
    chdir: c:\somedir
    creates: c:\somelog.txt

# Run a command under a non-Powershell interpreter (cmd in this case)
- win_shell: echo %HOMEDIR%
  args:
    executable: cmd
  register: homedir_out

Возвращаемые значения

Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для этого модуля:

имя описание возвращается тип пример
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
Стандартный вывод команды, разделенный на строки
всегда список ["Установление кластера узла rabbit@slave1 с rabbit@master ..."]

Примечания

Примечание

  • Если вы хотите безопасно и предсказуемо запустить исполняемый файл, лучше использовать модуль win_command. В ходе написания playbooks лучше использовать win_command по умолчанию, если явно не требуется win_shell. При выполнении команд ad-hoc руководствуйтесь своим лучшим суждением.
  • WinRM не вернётся из выполнения команды, пока все дочерние процессы не завершат работу. Поэтому нельзя использовать win_shell для запуска долгоживущих дочерних или фоновых процессов. Рассмотрите создание службы Windows для управления фоновыми процессами.
  • Для целевых хостов, не являющихся Windows, используйте модуль shell.
  • См. также win_command, raw

Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.

Информация о техническом обслуживании

Дополнительную информацию о поддержке этого модуля компанией 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_shell_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API