Version 3.1
This commit is contained in:
@@ -1,17 +1,40 @@
|
|||||||
---
|
---
|
||||||
- name: Patch Windows DCs using PowerShell via JEA
|
- name: Patch DCs via JEA (minimal allowed cmdlets)
|
||||||
hosts: windows
|
hosts: domain_controllers
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Search for updates
|
- name: List available updates
|
||||||
win_shell: Get-WindowsUpdate
|
ansible.windows.win_powershell:
|
||||||
register: search_output
|
script: |
|
||||||
|
Get-WindowsUpdate -MicrosoftUpdate -AcceptAll -IgnoreReboot
|
||||||
|
register: available_updates
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Install updates
|
- name: Install updates (no reboot yet)
|
||||||
win_shell: Install-WindowsUpdate -AcceptAll -AutoReboot
|
ansible.windows.win_powershell:
|
||||||
register: install_output
|
script: |
|
||||||
|
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -IgnoreReboot -Verbose
|
||||||
|
register: install_result
|
||||||
|
|
||||||
|
- name: Reboot if required
|
||||||
|
ansible.windows.win_powershell:
|
||||||
|
script: |
|
||||||
|
if (Get-WindowsUpdate -MicrosoftUpdate -AcceptAll -IgnoreReboot | Where-Object { $_.IsDownloaded -and $_.IsInstalled -eq $false }) {
|
||||||
|
Restart-Computer -Force
|
||||||
|
}
|
||||||
|
async: 1
|
||||||
|
poll: 0
|
||||||
|
|
||||||
|
- name: Check update history
|
||||||
|
ansible.windows.win_powershell:
|
||||||
|
script: |
|
||||||
|
Get-WUHistory | Select-Object -First 5
|
||||||
|
register: wu_history
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Show update history
|
||||||
|
debug:
|
||||||
|
var: wu_history.stdout_lines
|
||||||
|
|
||||||
- name: Reboot the system
|
|
||||||
win_shell: Restart-Computer -Force
|
|
||||||
when: install_output.stdout | search("RebootRequired")
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user