31 lines
991 B
YAML
31 lines
991 B
YAML
---
|
|
- name: Patch DCs via SYSTEM scheduled task
|
|
hosts: domain_controllers
|
|
gather_facts: no
|
|
|
|
tasks:
|
|
- name: Start the SYSTEM patch task
|
|
ansible.windows.win_powershell:
|
|
script: |
|
|
Start-ScheduledTask -TaskName 'Patching-windows-task'
|
|
|
|
- name: Poll task until finished (Ready/Disabled)
|
|
community.windows.win_scheduled_task_stat:
|
|
name: "Patching-windows-task"
|
|
register: patch_task
|
|
failed_when: false # don't fail mid-poll if stat errors
|
|
retries: 3
|
|
delay: 60
|
|
until: >
|
|
(patch_task is not failed)
|
|
and (patch_task.task is defined)
|
|
and (patch_task.task.state | default('') in ['Ready','Disabled'])
|
|
|
|
- name: Debug last observed task object (optional)
|
|
ansible.builtin.debug:
|
|
var: patch_task.task
|
|
|
|
- name: Reboot if needed
|
|
ansible.windows.win_reboot:
|
|
reboot_timeout: 3600
|
|
when: patch_task.task is defined and patch_task.task.state == 'Ready' |