. "$PSScriptRoot\_common.ps1" Section 'pause-windows-update' { $now = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ") $expiry = (Get-Date).ToUniversalTime().AddHours(24).ToString("yyyy-MM-ddTHH:mm:ssZ") $ux = 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' Set-RegValue $ux 'PauseUpdatesStartTime' $now 'String' Set-RegValue $ux 'PauseUpdatesExpiryTime' $expiry 'String' Set-RegValue $ux 'PauseFeatureUpdatesStartTime' $now 'String' Set-RegValue $ux 'PauseFeatureUpdatesEndTime' $expiry 'String' Set-RegValue $ux 'PauseQualityUpdatesStartTime' $now 'String' Set-RegValue $ux 'PauseQualityUpdatesEndTime' $expiry 'String' Log "WU paused until $expiry (UTC)" foreach ($svc in @('UsoSvc','wuauserv','BITS')) { Stop-Service -Name $svc -Force -ErrorAction SilentlyContinue } }