mirror of
https://git.ecdf.ed.ac.uk/win_automation/windows-ansible.git
synced 2026-10-27 22:57:21 +00:00
66 lines
1.9 KiB
YAML
66 lines
1.9 KiB
YAML
---
|
|
- name: Install client VM updates and reboot as much as needed
|
|
block:
|
|
- name: Install Windows updates (looped)
|
|
tags: update_windows
|
|
ansible.windows.win_updates:
|
|
category_names:
|
|
- CriticalUpdates
|
|
- DefinitionUpdates
|
|
- SecurityUpdates
|
|
- UpdateRollups
|
|
reboot: true
|
|
register: update_result
|
|
retries: 5
|
|
delay: 30
|
|
until: update_result.reboot_required == false
|
|
|
|
- name: Wait for host to come back online
|
|
tags: update_windows
|
|
ansible.builtin.wait_for_connection:
|
|
timeout: 600
|
|
|
|
- name: Update all choco packages
|
|
win_command: choco upgrade all -y
|
|
tags: update_choco
|
|
|
|
- name: Update Start Menu Shortcuts in XML on remote Windows machines
|
|
tags: update_start_menu
|
|
block:
|
|
- name: Copy Python script to target machine
|
|
ansible.windows.win_template:
|
|
src: "{{ script_name }}"
|
|
dest: "{{ script_path }}"
|
|
force: true
|
|
|
|
- name: Copy current XML to backup location
|
|
win_copy:
|
|
remote_src: true
|
|
src: "{{ start_menu_xml }}"
|
|
dest: "{{ backup_xml }}"
|
|
|
|
- name: Run Python script on remote machine
|
|
win_command: python "{{ script_path }}.xml"
|
|
when: "inventory_hostname in groups['meta-type_client']|default([])"
|
|
|
|
- name: Install Server VM updates and reboot as much as needed
|
|
tags: update_windows
|
|
block:
|
|
- name: Install Windows updates (looped)
|
|
ansible.windows.win_updates:
|
|
category_names:
|
|
- CriticalUpdates
|
|
- DefinitionUpdates
|
|
- SecurityUpdates
|
|
- UpdateRollups
|
|
reboot: true
|
|
register: update_result
|
|
retries: 5
|
|
delay: 30
|
|
until: update_result.reboot_required == false
|
|
|
|
- name: Wait for host to come back online
|
|
ansible.builtin.wait_for_connection:
|
|
timeout: 600
|
|
when: "inventory_hostname in groups['meta-type_server']"
|