Исключение обновлений Windows в Ansible

#ansible #yaml

Вопрос:

У меня есть Ansible playbook, который устанавливает критические обновления и обновления для системы безопасности в Windows:

 ---
- name: Install all security, critical updates
  win_updates:
    category_names:
      - SecurityUpdates
      - CriticalUpdates
    reject_list:
    reboot: yes
    reboot_timeout: 900
 

Я хочу более точно настроить playbook, чтобы отклонять любые обновления, в названиях которых есть слова «Предварительный просмотр», «Предварительный просмотр», «VMware» и «Драйвер». Я знаю, что reject_list параметр позволяет использовать заголовок обновления в качестве регулярного выражения, но я не уверен, как выразить это для конкретных имен, которые я хочу, чтобы обновления отклонялись.

Ответ №1:

Согласно https://docs.ansible.com/ansible/latest/collections/ansible/windows/win_updates_module.html Каждая запись может быть либо статьей базы знаний, либо заголовком обновления как регулярное выражение в соответствии с правилами регулярных выражений PowerShell. Провел краткое исследование регулярных выражений powershell и протестировал примеры на этом веб-сайте https://regexr.com/3c0lf. Я считаю, что следующий синтаксис должен работать, но сам его не пробовал.

 reject_list:
    - '.*Preview.*'
    - '.*VMware.*'
    - '.*Driver.*'