Spec-Zone.ru › Ansible 2.5

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.
name
Имя пакета; если имя не указано, для сообщений в журнале будет использоваться путь.
Начиная с Ansible 2.4, этот параметр устарел и больше не требуется.
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
(добавлено в 2.4)
    Варианты:
  • no
  • да ←
Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых сайтах с самозаверяющими сертификатами.
До Ansible 2.4, это значение по умолчанию было no.

Примечания

Примечание

  • Для целей, не относящихся к Windows, используйте модуль package.
  • Когда state=absent и продукт — exe, путь может отличаться от того, который использовался при первоначальной установке пакета. Если путь не указан, будет использоваться путь, указанный в UninstallString в реестре для этого идентификатора продукта.
  • Не все идентификаторы продуктов имеют формат 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; в Ansible 2.6 это поле будет удалено в пользу rc.

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

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

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

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

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

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

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


Статус

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

Поддержка

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

Spec-Zone.ru

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