Spec-Zone.ru › Ansible 2.9

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

  • Описание
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Значения возврата
  • Статус

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
arguments
строка
Любые аргументы, необходимые установщику для установки или удаления пакета.
Если пакет имеет формат MSI, не используйте аргументы /qn, /log или /norestart.
Начиная с Ansible 2.5, этот параметр может быть списком аргументов, и модуль будет экранировать аргументы по необходимости. Рекомендуется использовать строку при работе с пакетами MSI из-за уникальных проблем с экранированием в msiexec.
chdir
путь
добавлен в 2.8
Устанавливает указанный путь в качестве текущей рабочей директории перед установкой или удалением пакета.
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, но начиная с Ansible 2.4 это 0 и 3010.
Код возврата 3010 обычно означает, что требуется перезагрузка. Значение возврата reboot_required устанавливается, если код возврата равен 3010.
log_path
путь
добавлен в 2.8
Указывает путь к файлу журнала, который сохраняется после установки или удаления пакета MSI.
Если опущено, используется временный файл журнала для пакетов MSI.
Действительно только для файлов MSI. Для других типов пакетов используйте arguments.
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
строка
    Варианты:
  • absent
  • present ←
Установка или удаление пакета.
Модуль использует product_id и наличие файла в пути реестра, чтобы определить нужно ли установить или удалить пакет.

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

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

Примечания

Примечание

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

См. также

См. также

win_chocolatey – Управление пакетами с помощью chocolatey
Официальная документация по модулю win_chocolatey.
win_hotfix – Установка и удаление исправлений Windows
Официальная документация по модулю win_hotfix.
win_updates – Загрузка и установка обновлений Windows
Официальная документация по модулю win_updates.

Примеры

- 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, and permanent log
  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
    log_path: D:\logs\vcredist_x64-exe-{{lookup('pipe', 'date +%Y%m%dT%H%M%S')}}.log

- 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]

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

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

Ключ Возвращаемое значение Описание
log
строка
ошибка установки/деинсталляции для пакетов MSI
Содержание журнала MSI.

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

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

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

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

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


Состояние

  • Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается основной командой Ansible. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке данного модуля Red Hat можно найти в этой статье базы знаний 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.9/modules/win_package_module.html

Spec-Zone.ru

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