ansible.windows.win_package модуль — Установка/удаление устанавливаемого пакета
Примечание
Этот модуль входит в состав коллекции ansible.windows (версия 2.5.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install ansible.windows.
Для использования в книге задач укажите: ansible.windows.win_package.
Описание
- Устанавливает или удаляет пакеты программного обеспечения для Windows.
- Поддерживает
.exe,.msi,.msp,.appx,.appxbundle,.msix, и.msixbundle. - Эти пакеты могут быть взяты из локальной файловой системы, сетевого файлового ресурса или URL.
- См. provider для получения дополнительной информации о каждом поддерживаемом типе пакета.
Параметры
Параметр | Комментарии |
|---|---|
arguments any | Любые аргументы, необходимые установщику для установки или удаления пакета. Если пакет является MSI, не указывайте аргументы Это используется только для поставщиков Может быть списком аргументов, и модуль будет экранировать аргументы по мере необходимости; рекомендуется использовать строку при работе с пакетами MSI из-за уникальных проблем с экранированием в msiexec. При использовании списка аргументов каждый элемент списка считается одним аргументом. Таким образом, если аргумент в списке содержит пробел, Ansible заключит его в кавычки, чтобы убедиться, что Windows воспринимает его как один аргумент. Если это поведение не требуется, аргумент следует разделить на два отдельных элемента списка. Более подробную информацию см. в разделе «Примеры». |
chdir path | Устанавливает указанный путь в качестве текущего рабочего каталога перед установкой или удалением пакета. Это используется только для поставщиков |
client_cert string | Путь к клиентскому сертификату (.pfx), используемому для проверки подлинности X509. Этот путь может быть либо путем к Подключение WinRM должно быть аутентифицировано с помощью Другие типы аутентификации могут устанавливать client_cert_password, если сертификат защищен паролем. |
client_cert_password string | Пароль для client_cert, если сертификат защищен паролем. |
creates_path path | Проверит существование указанного пути и использует результат для определения того, установлен ли пакет. Вы можете использовать это в сочетании с |
creates_service string | Проверит существование указанной службы и использует результат для определения того, установлен ли пакет. Вы можете использовать это в сочетании с |
creates_version string | Проверит свойство версии файла в
Вы можете использовать это в сочетании с |
expected_return_code list / elements=integer | Один или несколько кодов возврата от установки пакета, указывающих на успех. Коды возврата читаются как знаковое целое число; любые значения, большие чем 2147483647, должны быть представлены как знакомый эквивалент, например, Чтобы преобразовать беззнаковое число в знаковый эквивалент, можно выполнить «[Int32]("0x{0:X}" -f ([UInt32]3221225477))». Код возврата Это используется только для поставщиков Значение по умолчанию: |
follow_redirects string | Следует ли модулю перенаправлять запросы.
При перенаправлении по перенаправленному URL-адресу заголовок Варианты:
|
force_basic_auth boolean | По умолчанию заголовок аутентификации отправляется только тогда, когда веб-сервис отвечает на первоначальный запрос со статусом 401. Поскольку некоторые службы Basic Auth не отправляют 401 должным образом, вход будет невозможен. Этот параметр принудительно отправляет заголовок Basic Authentication при первоначальном запросе. Варианты:
|
headers dictionary | Дополнительные заголовки для установки в запросе. Это должен быть словарь, где ключ — имя заголовка, а значение — значение для этого заголовка. |
http_agent string | Заголовок для идентификации, обычно отображается в логах веб-сервера. Это устанавливается в заголовок Значение по умолчанию: |
log_path path | Указывает путь к файлу журнала, который сохраняется после установки или удаления пакета. Это используется только для поставщика Если этот параметр опущен, вместо этого используется временный файл журнала для этих поставщиков. Это допустимо только для файлов MSI; используйте |
maximum_redirection integer | Указывает, сколько раз модуль перенаправит подключение к альтернативному URI, прежде чем подключение завершится неудачей. Если установлено значение Значение по умолчанию: |
path string | Расположение пакета для установки или удаления. Этот пакет может находиться на локальном файловом диске, сетевом ресурсе или быть URL-адресом. Когда Если Если |
product_id string | Идентификатор продукта установленного пакета. Используется для проверки того, установлен ли продукт, и получения информации об удалении, если Для пакетов MSI это Для пакетов MSP это Для пакетов msix это Для пакетов реестра (exe) это имя ключа реестра по указанным в provider реестровым путям. Это значение игнорируется, если Это значение ДОЛЖНО быть задано, когда пакет является |
provider string | Устанавливает поставщика пакетов для поиска пакета. Поставщик Поставщик Поставщик Поставщик Поставщик Варианты:
|
proxy_password string | Пароль для proxy_username. |
proxy_url string | Явный прокси для использования в запросе. По умолчанию запрос использует прокси, определенный в IE, если use_proxy не задано как |
proxy_use_default_credential boolean | Использует учетные данные текущего пользователя при аутентификации с прокси-хостом, защищенным аутентификацией Прокси, использующие аутентификацию Модуль получит доступ к учетным данным пользователя только при использовании Если не используется Варианты:
|
proxy_username string | Имя пользователя для аутентификации по прокси. |
state string | Указывает на установку или удаление пакета. Модуль использует product_id для определения того, установлен ли пакет. Для всех поставщиков, кроме Варианты:
|
url_method string | Метод HTTP запроса. |
url_password string | Пароль для url_username. |
url_timeout integer | Устанавливает время ожидания запроса перед его истечением (в секундах). Установленное значение По умолчанию: |
url_username string | Имя пользователя для аутентификации. |
use_default_credential boolean | Использует учетные данные текущего пользователя при аутентификации с сервером, защищенным аутентификацией Серверы, использующие аутентификацию Модуль получит доступ к учетным данным пользователя только при использовании Если не используется Варианты:
|
use_proxy boolean | Если Варианты:
|
validate_certs boolean | Если Использовать только на сайтах, контролируемых лично, с использованием самозаверяющих сертификатов. Варианты:
|
wait_for_children boolean добавлен в ansible.windows 1.3.0 | Модуль будет ждать завершения процесса, который он запустил, но любые процессы, запущенные в этом дочернем процессе, будут проигнорированы. Установите Это полезно, если установщик/деинсталлятор является просто оболочкой, которая затем вызывает фактический установщик в качестве собственного дочернего процесса. Когда этот параметр Этого обычно не требуется для большинства установщиков, и установка на Требуется Windows Server 2012 или Windows 8 или более поздняя версия. Варианты:
|
Примечания
Примечание
- Когда
state=absentи продукт является exe, путь может отличаться от пути, используемого для первоначальной установки пакета. Если путь не задан, используемый путь будет таким, как указано вQuietUninstallStringилиUninstallStringв реестре для данного product_id. - По умолчанию все установки и удаления MSI будут выполняться с аргументами
/log, /qn, /norestart. - Все проверки установки в
product_idиcreates_*суммируются; если одна из них завершится неудачей, программа считается отсутствующей.
См. также
См. также
- chocolatey.chocolatey.win_chocolatey
-
Управление пакетами с помощью Chocolatey.
- community.windows.win_hotfix
-
Установка и удаление исправлений Windows.
- ansible.windows.win_updates
-
Загрузка и установка обновлений Windows.
- community.windows.win_inet_proxy
-
Управление настройками прокси для WinINet и Internet Explorer.
Примеры
- name: Install the Visual C thingy
ansible.windows.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
ansible.windows.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 MSBuild thingy with arguments split to prevent quotes
ansible.windows.win_package:
path: https://download.visualstudio.microsoft.com/download/pr/9665567e-f580-4acd-85f2-bc94a1db745f/vs_BuildTools.exe
product_id: '{D1437F51-786A-4F57-A99C-F8E94FBA1BD8}'
arguments:
- --norestart
- --passive
- --wait
- --add
- Microsoft.Net.Component.4.6.1.TargetingPack
- --add
- Microsoft.Net.Component.4.6.TargetingPack
- name: Install Remote Desktop Connection Manager from msi with a permanent log
ansible.windows.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
log_path: D:\logs\vcredist_x64-exe-{{lookup('pipe', 'date +%Y%m%dT%H%M%S')}}.log
- name: Install Application from msi with multiple properties for installer
ansible.windows.win_package:
path: C:\temp\Application.msi
state: present
arguments: >-
SERVICE=1
DBNAME=ApplicationDB
DBSERVER=.\SQLEXPRESS
INSTALLDIR="C:\Program Files (x86)\App lication\App Server"
- name: Install Microsoft® SQL Server® 2019 Express (DPAPI example)
ansible.windows.win_package:
path: C:\temp\SQLEXPR_x64_ENU\SETUP.EXE
product_id: Microsoft SQL Server SQL2019
arguments:
- SAPWD=VeryHardPassword
- /ConfigurationFile=C:\temp\configuration.ini
become: true
vars:
ansible_become_method: runas
ansible_become_user: "{{ user }}"
ansible_become_pass: "{{ password }}"
- name: Uninstall Remote Desktop Connection Manager
ansible.windows.win_package:
product_id: '{0240359E-6A4C-4884-9E94-B397A02D893C}'
state: absent
- name: Install Remote Desktop Connection Manager locally omitting the product_id
ansible.windows.win_package:
path: C:\temp\rdcman.msi
state: present
- name: Uninstall Remote Desktop Connection Manager from local MSI omitting the product_id
ansible.windows.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 with specific credentials
ansible.windows.win_package:
path: \\domain\programs\7z.exe
product_id: 7-Zip
arguments: /S
state: present
become: true
become_method: runas
become_flags: logon_type=new_credential logon_flags=netcredentials_only
vars:
ansible_become_user: DOMAIN\User
ansible_become_password: Password
- name: Install 7zip and use a file version for the installation check
ansible.windows.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
ansible.windows.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
ansible.windows.win_package:
product_id: 7-Zip
arguments: /S
state: absent
- name: Install application and override expected return codes
ansible.windows.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]
- name: Install a .msp patch
ansible.windows.win_package:
path: C:\Patches\Product.msp
state: present
- name: Remove a .msp patch
ansible.windows.win_package:
product_id: '{AC76BA86-A440-FFFF-A440-0C13154E5D00}'
state: absent
- name: Enable installation of 3rd party MSIX packages
ansible.windows.win_regedit:
path: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock
name: AllowAllTrustedApps
data: 1
type: dword
state: present
- name: Install an MSIX package for the current user
ansible.windows.win_package:
path: C:\Installers\Calculator.msix # Can be .appx, .msixbundle, or .appxbundle
state: present
- name: Uninstall an MSIX package using the product_id
ansible.windows.win_package:
product_id: InputApp
state: absent
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
log строка | Содержимое журнала MSI или MSP. Возвращается: при неудаче установки/удаления пакетов MSI или MSP Пример: |
rc целое число | Код возврата процесса пакета. Возвращается: изменения произошли Пример: |
reboot_required boolean | Требуется ли перезагрузка для завершения пакета. Устанавливается в значение true, если код возврата исполняемого файла равен 3010. Возвращается: всегда Пример: |
stderr строка | Поток stderr процесса пакета. Возвращается: ошибка при установке или удалении Пример: |
stdout строка | Поток stdout процесса пакета. Возвращается: ошибка при установке или удалении Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/ansible/windows/win_package_module.html