9
This commit is contained in:
@@ -4,23 +4,23 @@
|
|||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
|
||||||
vars:
|
vars:
|
||||||
# Root task folder: use '\\'
|
task_path: '\\' # or '\\Microsoft\\Windows\\WindowsUpdate\\'
|
||||||
# If your task is in a folder, e.g. \Microsoft\Windows\WindowsUpdate\
|
|
||||||
# then set: '\\Microsoft\\Windows\\WindowsUpdate\\'
|
|
||||||
task_path: '\\'
|
|
||||||
task_name: 'Patching-windows-task'
|
task_name: 'Patching-windows-task'
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Start the SYSTEM patch task
|
- name: Start the SYSTEM patch task (schtasks)
|
||||||
ansible.windows.win_command: >
|
ansible.windows.win_command: >
|
||||||
schtasks /Run /TN "{{ task_path }}{{ task_name }}"
|
schtasks /Run /TN "{{ task_path }}{{ task_name }}"
|
||||||
register: start_task
|
register: start_task
|
||||||
changed_when: start_task.rc == 0 or
|
failed_when: false
|
||||||
('SUCCESS' in (start_task.stdout | default('')))
|
changed_when: >
|
||||||
failed_when: start_task.rc not in [0] and
|
(start_task is defined) and
|
||||||
('SUCCESS' not in (start_task.stdout | default('')))
|
(
|
||||||
|
(start_task.rc | default(999)) == 0
|
||||||
|
or ('SUCCESS' in (start_task.stdout | default('')))
|
||||||
|
)
|
||||||
|
|
||||||
- name: Poll task until it is Ready or Disabled
|
- name: Poll task until Ready/Disabled (PowerShell)
|
||||||
ansible.windows.win_powershell:
|
ansible.windows.win_powershell:
|
||||||
script: |
|
script: |
|
||||||
$ErrorActionPreference = 'Stop'
|
$ErrorActionPreference = 'Stop'
|
||||||
@@ -31,11 +31,11 @@
|
|||||||
(Get-ScheduledTaskInfo -TaskPath $tp -TaskName $tn).State
|
(Get-ScheduledTaskInfo -TaskPath $tp -TaskName $tn).State
|
||||||
register: task_state
|
register: task_state
|
||||||
failed_when: false
|
failed_when: false
|
||||||
retries: 180 # up to 3 hours
|
retries: 180
|
||||||
delay: 60
|
delay: 60
|
||||||
until: (task_state.stdout | trim) in ['Ready','Disabled']
|
until: (task_state.stdout | default('') | trim) in ['Ready','Disabled']
|
||||||
|
|
||||||
- name: Reboot if needed
|
- name: Reboot if needed
|
||||||
ansible.windows.win_reboot:
|
ansible.windows.win_reboot:
|
||||||
reboot_timeout: 3600
|
reboot_timeout: 3600
|
||||||
when: (task_state.stdout | trim) == 'Ready'
|
when: (task_state.stdout | default('') | trim) == 'Ready'
|
||||||
Reference in New Issue
Block a user