win_updates: fix typo with download failure and whitelist on multiple updates (#40283)
This commit is contained in:
parent
5c124876fa
commit
837aada4a8
2 changed files with 18 additions and 10 deletions
3
changelogs/fragments/win_updates_typo_whitelist_fix.yaml
Normal file
3
changelogs/fragments/win_updates_typo_whitelist_fix.yaml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
bugfixes:
|
||||||
|
- win_updates - Fix typo that hid the download error when a download failed
|
||||||
|
- win_updates - Fix logic when using a whitelist for multiple updates
|
|
@ -119,19 +119,24 @@ foreach ($update in $search_result.Updates) {
|
||||||
|
|
||||||
# validate update again blacklist/whitelist
|
# validate update again blacklist/whitelist
|
||||||
$skipped = $false
|
$skipped = $false
|
||||||
|
$whitelist_match = $false
|
||||||
foreach ($whitelist_entry in $whitelist) {
|
foreach ($whitelist_entry in $whitelist) {
|
||||||
$kb_match = $false
|
if ($update_info.title -imatch $whitelist_entry) {
|
||||||
|
$whitelist_match = $true
|
||||||
|
break
|
||||||
|
}
|
||||||
foreach ($kb in $update_info.kb) {
|
foreach ($kb in $update_info.kb) {
|
||||||
if ("KB$kb" -imatch $whitelist_entry) {
|
if ("KB$kb" -imatch $whitelist_entry) {
|
||||||
$kb_match = $true
|
$whitelist_match = $true
|
||||||
}
|
|
||||||
}
|
|
||||||
if (-not ($kb_match -or $update_info.title -imatch $whitelist_entry)) {
|
|
||||||
Write-DebugLog -msg "Skipping update $($update_info.id) - $($update_info.title) as it was not found in the whitelist"
|
|
||||||
$skipped = $true
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if ($whitelist.Length -gt 0 -and -not $whitelist_match) {
|
||||||
|
Write-DebugLog -msg "Skipping update $($update_info.id) - $($update_info.title) as it was not found in the whitelist"
|
||||||
|
$skipped = $true
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($blacklist_entry in $blacklist) {
|
foreach ($blacklist_entry in $blacklist) {
|
||||||
$kb_match = $false
|
$kb_match = $false
|
||||||
foreach ($kb in $update_info.kb) {
|
foreach ($kb in $update_info.kb) {
|
||||||
|
@ -237,7 +242,7 @@ foreach ($update in $updates_to_install) {
|
||||||
Write-DebugLog -msg "Download result code for $update_number $($update.Identity.UpdateId) = $($download_result.ResultCode)"
|
Write-DebugLog -msg "Download result code for $update_number $($update.Identity.UpdateId) = $($download_result.ResultCode)"
|
||||||
# FUTURE: configurable download retry
|
# FUTURE: configurable download retry
|
||||||
if ($download_result.ResultCode -ne 2) { # OperationResultCode orcSucceeded
|
if ($download_result.ResultCode -ne 2) { # OperationResultCode orcSucceeded
|
||||||
Fail-Json -obj $result -message "Failed to download update $update_number $($update.Identity.UpdateId) - $($update.Title): Download Result $($download_result.ResuleCode)"
|
Fail-Json -obj $result -message "Failed to download update $update_number $($update.Identity.UpdateId) - $($update.Title): Download Result $($download_result.ResultCode)"
|
||||||
}
|
}
|
||||||
|
|
||||||
$result.changed = $true
|
$result.changed = $true
|
||||||
|
|
Loading…
Reference in a new issue