From ee530b00e3f8c55eb4cddb7183745cf77a15f5b7 Mon Sep 17 00:00:00 2001 From: Shamil Mubarakshin <127750046+shamil-mubarakshin@users.noreply.github.com> Date: Mon, 20 Jan 2025 11:12:30 +0100 Subject: [PATCH] [windows] Update Get-WindowsUpdateStates function (#11397) --- images/windows/scripts/helpers/InstallHelpers.ps1 | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/images/windows/scripts/helpers/InstallHelpers.ps1 b/images/windows/scripts/helpers/InstallHelpers.ps1 index 67faade1d..6ccba1178 100644 --- a/images/windows/scripts/helpers/InstallHelpers.ps1 +++ b/images/windows/scripts/helpers/InstallHelpers.ps1 @@ -438,13 +438,15 @@ function Get-WindowsUpdateStates { 19 { $state = "Installed" $title = $event.Properties[0].Value - $completedUpdates[$title] = "" + $completedUpdates[$title] = $state break } 20 { $state = "Failed" $title = $event.Properties[1].Value - $completedUpdates[$title] = "" + if (-not $completedUpdates.ContainsKey($title)) { + $completedUpdates[$title] = $state + } break } 43 { @@ -454,8 +456,13 @@ function Get-WindowsUpdateStates { } } - # Skip update started event if it was already completed - if ( $state -eq "Running" -and $completedUpdates.ContainsKey($title) ) { + # Skip Running update event if it was already completed + if ( ($state -eq "Running") -and $completedUpdates.ContainsKey($title) ) { + continue + } + + # Skip Failed update event if it was already successfully installed + if ( ($state -eq "Failed") -and $completedUpdates[$title] -eq "Installed" ) { continue }