win_updates - Загрузка и установка обновлений Windows
Новое в версии 2.0.
Обзор
- Синхронно ищет, загружает и устанавливает обновления Windows, автоматизируя клиент Windows Update
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| blacklist (добавлено в 2.5) | Список названий обновлений или номеров KB, позволяющих указать, какие обновления следует исключить из установки. Если доступное обновление соответствует одному из элементов, оно пропускается и не устанавливается. Каждый элемент может быть статьёй KB или названием обновления как регулярное выражение в соответствии с правилами регулярных выражений PowerShell. | |
| category_names |
[u'Критические обновления', u'Обновления безопасности', u'Наборы обновлений'] | Скаляр или список категорий для установки обновлений |
| log_path | Если задано, win_updates будет добавлять ход установки обновлений в указанный файл. Директория должна уже существовать. | |
| reboot (добавлено в 2.5) |
| Ansible автоматически перезагрузит удалённый хост, если это необходимо, и продолжит установку обновлений после перезагрузки. Это можно использовать вместо задачи win_reboot после этой и гарантирует, что все обновления для этой категории будут установлены за один раз. Асинхронный режим не работает, когда reboot=True. |
| reboot_timeout (добавлено в 2.5) | Значение по умолчанию: 1200 | Время в секундах ожидания, пока хост вернётся в онлайн-режим после перезагрузки. Используется только если reboot=True и требуется перезагрузка. |
| state |
| Управляет тем, возвращаются ли найденные обновления в виде списка или действительно устанавливаются. Этот модуль также поддерживает режим проверки Ansible, который имеет тот же эффект, что и установка state=проверено |
| whitelist (добавлено в 2.5) | Список названий обновлений или номеров KB, которые можно использовать для указания, какие обновления нужно искать или устанавливать. Если доступное обновление не соответствует ни одному из элементов, оно пропускается и не устанавливается. Каждый элемент может быть статьёй KB или названием обновления как регулярное выражение в соответствии с правилами регулярных выражений PowerShell. Список разрешённых обновлений проверяется только на обновления, которые были найдены на основе category_names. Он не заставит модуль установить обновление, если оно не было в указанной категории. |
Примечания
Примечание
-
win_updatesдолжен выполняться пользователем, входящим в локальную группу администраторов. -
win_updatesбудет использовать по умолчанию службу обновлений, настроенную для машины (Windows Update, Microsoft Update, WSUS и т. д.). - По умолчанию
win_updatesне управляет перезагрузкой, но будет сигнализировать, когда перезагрузка требуется, с возвращаемым значением reboot_required. Начиная с Ansible 2.5rebootможно использовать для перезагрузки хоста, если это необходимо, в одной задаче. -
win_updatesможет потребовать значительного времени для выполнения (часы, в некоторых случаях). Производительность зависит от многих факторов, включая версию ОС, количество обновлений, нагрузку на систему и нагрузку на сервер обновлений. - Дополнительную информацию о PowerShell и о том, как он обрабатывает строки регулярных выражений, можно найти по адресу https://technet.microsoft.com/ru-ru/library/2007.11.powershell.aspx.
Примеры
- name: Install all security, critical, and rollup updates
win_updates:
category_names:
- SecurityUpdates
- CriticalUpdates
- UpdateRollups
- name: Install only security updates
win_updates:
category_names: SecurityUpdates
- name: Search-only, return list of found updates (if any), log to c:\ansible_wu.txt
win_updates:
category_names: SecurityUpdates
state: searched
log_path: c:\ansible_wu.txt
- name: Install all security updates with automatic reboots
win_updates:
category_names:
- SecurityUpdates
reboot: yes
- name: Install only particular updates based on the KB numbers
win_updates:
category_name:
- SecurityUpdates
whitelist:
- KB4056892
- KB4073117
- name: Exlude updates based on the update title
win_updates:
category_name:
- SecurityUpdates
- CriticalUpdates
blacklist:
- Windows Malicious Software Removal Tool for Windows
- \d{4}-\d{2} Cumulative Update for Windows Server 2016
# Note async works on Windows Server 2012 or newer - become must be explicitly set on the task for this to work
- name: Search for Windows updates asynchronously
win_updates:
category_names:
- SecurityUpdates
state: searched
async: 180
poll: 10
register: updates_to_install
become: yes
become_method: runas
become_user: SYSTEM
# Async can also be run in the background in a fire and forget fashion
- name: Search for Windows updates asynchronously (poll and forget)
win_updates:
category_names:
- SecurityUpdates
state: searched
async: 180
poll: 0
register: updates_to_install_async
- name: get status of Windows Update async job
async_status:
jid: '{{ updates_to_install_async.ansible_job_id }}'
register: updates_to_install_result
become: yes
become_method: runas
become_user: SYSTEM
Возвращаемые значения
Общие возвращаемые значения описаны в данном разделе, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое | Описание | |
|---|---|---|---|
| failed_update_count int | всегда | Количество обновлений, которые не удалось установить | |
| filtered_updates сложное | успех | Список обновлений, которые были найдены, но были отфильтрованы на основе blacklist или whitelist. Возвращаемое значение имеет тот же формат, что и updates. Пример: см. возвращаемое значение updates | |
| found_update_count int | успех | Количество найденных обновлений, которые требуют применения Пример: 3 | |
| installed_update_count int | успех | Количество успешно установленных обновлений Пример: 2 | |
| reboot_required boolean | успех | Истина, когда целевой сервер требует перезагрузки для завершения установки обновлений (никакие дальнейшие обновления не могут быть установлены до перезагрузки) Пример: True | |
| updates сложное | успех | Список обновлений, которые были найдены/установлены | |
| kb список строк | всегда | Список идентификаторов статей KB, относящихся к обновлению Пример: ['3004365'] | |
| title строка | всегда | Имя для отображения Пример: Обновление безопасности для Windows Server 2012 R2 (KB3004365) | |
| failure_hresult_code boolean | при ошибке установки | Код HRESULT от не удавшегося обновления Пример: 2147942402 | |
| id строка (guid) | всегда | Внутренний GUID Windows Update Пример: fb95c1c8-de23-4089-ae29-fd3351d55421 | |
| installed boolean | всегда | Было ли обновление успешно установлено Пример: True | |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.
Поддержка
Дополнительную информацию о поддержке этого модуля Red Hat см. в этой статье базы знаний
Автор
- Matt Davis (@nitzmahone)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 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_updates_module.html