--- - name: check for available updates win_updates: category_names: "{{ win_update_category_names }}" blacklist: "{{ win_update_blacklist | default(omit) }}" state: searched register: available_updates - debug: msg: | {{ inventory_hostname }} has {{ available_updates.found_update_count }} updates available. {% for update in updates %} - {{ update.title }} {% endfor %} vars: updates: "{{ (available_updates.updates.values() | list) if (available_updates.updates is mapping) else (available_updates.updates) }}" when: available_updates.updates is defined - include_tasks: updates-with-retry.yml when: - available_updates.updates is defined - available_updates.found_update_count > 0 - name: check for missing updates win_updates: state: searched register: available_updates - name: list missing updates debug: var: available_updates - name: check to see if update is finished win_shell: gwmi -Class win32_computersystem -ComputerName 127.0.0.1 | select -ExpandProperty username -ErrorAction Stop register: logon_status until: logon_status is success delay: 10 retries: 100 ignore_errors: yes when: "'Server' not in ansible_distribution" - name: reboot windows win_reboot: when: "'Server' not in ansible_distribution"