. "$PSScriptRoot\_common.ps1" Section 'resume-and-trigger-windows-update' { $ux = 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' foreach ($n in @('PauseUpdatesStartTime','PauseUpdatesExpiryTime', 'PauseFeatureUpdatesStartTime','PauseFeatureUpdatesEndTime', 'PauseQualityUpdatesStartTime','PauseQualityUpdatesEndTime')) { Remove-ItemProperty -Path $ux -Name $n -ErrorAction SilentlyContinue } foreach ($svc in @('BITS','wuauserv','UsoSvc')) { Start-Service -Name $svc -ErrorAction SilentlyContinue } $uso = "$env:SystemRoot\System32\UsoClient.exe" if (Test-Path $uso) { & $uso RefreshSettings | Out-Null & $uso StartScan | Out-Null & $uso StartDownload | Out-Null & $uso StartInstall | Out-Null Log 'WU resumed; UsoClient scan/download/install triggered' } else { try { (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow() Log 'WU resumed; AutoUpdate.DetectNow triggered (COM fallback)' } catch { Log "WU resumed but trigger failed: $($_.Exception.Message)" } } }