Spec-Zone.ru › Ansible 2.6

win_package - Установка/удаление устанавливаемого пакета

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

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата
  • Статус
  • Техническое обслуживание
    • Поддержка
    • Автор

Описание

  • Устанавливает или удаляет пакет в формате MSI или EXE.
  • Эти пакеты могут быть источниками из локальной файловой системы, сетевой файловой папки или URL.
  • Пожалуйста, ознакомьтесь с разделом "Примечания" относительно некоторых нюансов этого модуля.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
arguments
Любые аргументы, необходимые установщику для установки или удаления пакета.
Если пакет MSI, не указывайте аргументы /qn, /log или /norestart.
Начиная с Ansible 2.5, этот параметр может быть списком аргументов, и модуль будет экранировать аргументы по мере необходимости. Рекомендуется использовать строку при работе с пакетами MSI из-за особых проблем с экранированием в msiexec.
creates_path
(добавлено в 2.4)
Проверит существование указанного пути и использует результат для определения, установлен ли пакет.
Можно использовать в сочетании с product_id и другими creates_*.
creates_service
(добавлено в 2.4)
Проверит существование указанной службы и использует результат для определения, установлен ли пакет.
Можно использовать в сочетании с product_id и другими creates_*.
creates_version
(добавлено в 2.4)
Проверит свойство версии файла в creates_path и использует результат для определения, установлен ли пакет.
creates_path ДОЛЖЕН быть установлен и представляет собой файл.
Можно использовать в сочетании с product_id и другими creates_*.
expected_return_code По умолчанию:
[0, 3010]
Один или несколько кодов возврата из установки пакета, указывающих на успех.
До Ansible 2.4 это было только 0, но с 2.4 это и 0, и 3010.
Код возврата 3010 обычно означает, что требуется перезагрузка, значение reboot_required устанавливается, если код возврата равен 3010.
password
Пароль для user_name, должен быть установлен, когда user_name установлен.

псевдонимы: user_password
path
Расположение пакета для установки или удаления.
Этот пакет может находиться на локальной файловой системе, сетевом ресурсе или URL.
Если путь к сетевому ресурсу, а текущий транспорт WinRM не поддерживает делегирование учетных данных, то необходимо установить user_name и user_password для доступа к файлу.
В некоторых случаях этот файл будет скопирован на сервер, чтобы он мог получить к нему доступ, см. раздел "Примечания" для получения дополнительной информации.
Если state=present, то это значение ДОЛЖНО быть установлено.
Если state=absent, то это значение не нужно устанавливать, если product_id установлен.
product_id
Идентификатор продукта установленного пакета.
Используется для проверки, установлен ли продукт, и получения информации об удалении, если state=absent.
Идентификаторы продуктов установленных программ можно найти в редакторе реестра Windows по адресу HKLM:Software\Microsoft\Windows\CurrentVersion\Uninstall или для 32-битных программ по адресу HKLM:Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall.
ДОЛЖНО быть установлено, если пакет не MSI, или путь - URL или сетевой ресурс, и не используется делегирование учетных данных. Вместо этого можно использовать опции creates_*, но это не рекомендуется.

псевдонимы: productid
state По умолчанию:
"present"
Установка или удаление пакета.
Модуль использует product_id и наличие файла в пути реестра для определения, нужно ли установить или удалить пакет.

псевдонимы: ensure
username
Имя пользователя с доступом к пакету, если он расположен на сетевом ресурсе.
Требуется только в том случае, если транспорт WinRM использует метод авторизации, не поддерживающий делегирование учетных данных, например, Basic или NTLM.

псевдонимы: user_name
validate_certs
bool

(добавлено в 2.4)
    Варианты:
  • no
  • yes ←
Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых сайтах, использующих самозаверяющие сертификаты.
До Ansible 2.4 это по умолчанию no.

Примечания

Примечание

  • Для не-Windows целей используйте модуль package вместо этого.
  • Когда state=absent и продукт - exe, путь может отличаться от пути, использовавшегося для установки пакета первоначально. Если путь не установлен, путь будет соответствовать значению UninstallString в реестре для данного product_id.
  • Не все идентификаторы продукта имеют формат GUID, некоторые программы неправильно используют другой формат, но этот модуль должен поддерживать любой формат.
  • По умолчанию все установки и удаления msi выполняются с параметрами /log, /qn, /norestart.
  • Рекомендуется сначала загрузить пакет с URL с помощью модуля win_get_url, так как это открывает больше гибкости при вызове win_package.
  • Пакеты будут временно загружены или скопированы локально, когда путь - сетевой ресурс и делегирование учетных данных не установлено, или путь - URL, а файл не MSI.
  • Все проверки установки в product_id и creates_* складываются, если одна из них завершается ошибкой, программа считается отсутствующей.

Примеры

- name: Install the Visual C thingy
  win_package:
    path: http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe
    product_id: '{CF2BEA3C-26EA-32F8-AA9B-331F7E34BA97}'
    arguments: /install /passive /norestart

- name: Install Visual C thingy with list of arguments instead of a string
  win_package:
    path: http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe
    product_id: '{CF2BEA3C-26EA-32F8-AA9B-331F7E34BA97}'
    arguments:
    - /install
    - /passive
    - /norestart

- name: Install Remote Desktop Connection Manager from msi
  win_package:
    path: https://download.microsoft.com/download/A/F/0/AF0071F3-B198-4A35-AA90-C68D103BDCCF/rdcman.msi
    product_id: '{0240359E-6A4C-4884-9E94-B397A02D893C}'
    state: present

- name: Uninstall Remote Desktop Connection Manager
  win_package:
    product_id: '{0240359E-6A4C-4884-9E94-B397A02D893C}'
    state: absent

- name: Install Remote Desktop Connection Manager locally omitting the product_id
  win_package:
    path: C:\temp\rdcman.msi
    state: present

- name: Uninstall Remote Desktop Connection Manager from local MSI omitting the product_id
  win_package:
    path: C:\temp\rdcman.msi
    state: absent

# 7-Zip exe doesn't use a guid for the Product ID
- name: Install 7zip from a network share specifying the credentials
  win_package:
    path: \\domain\programs\7z.exe
    product_id: 7-Zip
    arguments: /S
    state: present
    user_name: DOMAIN\User
    user_password: Password

- name: Install 7zip and use a file version for the installation check
  win_package:
    path: C:\temp\7z.exe
    creates_path: C:\Program Files\7-Zip\7z.exe
    creates_version: 16.04
    state: present

- name: Uninstall 7zip from the exe
  win_package:
    path: C:\Program Files\7-Zip\Uninstall.exe
    product_id: 7-Zip
    arguments: /S
    state: absent

- name: Uninstall 7zip without specifying the path
  win_package:
    product_id: 7-Zip
    arguments: /S
    state: absent

- name: Install application and override expected return codes
  win_package:
    path: https://download.microsoft.com/download/1/6/7/167F0D79-9317-48AE-AEDB-17120579F8E2/NDP451-KB2858728-x86-x64-AllOS-ENU.exe
    product_id: '{7DEBE4EB-6B40-3766-BB35-5CBBC385DA37}'
    arguments: '/q /norestart'
    state: present
    expected_return_code: [0, 666, 3010]

Значения возврата

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

Ключ Возвращаемое значение Описание
exit_code
int
изменения произошли
См. rc, это будет удалено в пользу rc в Ansible 2.6.

log
str
изменения произошли, и пакет MSI
Содержание журнала MSI.

Пример:
Установка завершена успешно
rc
int
изменения произошли
Код возврата процесса пакета.

reboot_required
bool
всегда
Требуется ли перезагрузка для завершения установки пакета. Это значение устанавливается в true, если код возврата исполняемого файла равен 3010.

Пример:
True
restart_required
bool
всегда
См. reboot_required, это будет удалено в пользу reboot_required в Ansible 2.6

Пример:
True
stderr
str
ошибка во время установки или удаления
Поток stderr процесса пакета.

Пример:
Ошибка установки программы
stdout
str
ошибка во время установки или удаления
Поток stdout процесса пакета.

Пример:
Установка программы


Статус

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

Техническое обслуживание

Этот модуль помечен как ядерный, что означает, что его поддерживает Команда разработчиков Ansible. Подробнее см. в Документации по поддержке модулей.

Для списка других модулей, также поддерживаемых командой Ansible Core, см. здесь.

Поддержка

Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этой статье базы знаний

Автор

  • Trond Hindenes (@trondhindenes)
  • Jordan Borean (@jborean93)

Подсказка

Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.

© 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_package_module.html

Spec-Zone.ru

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