Remediate-WindowsUpdateHealth.ps1
|
<#PSScriptInfo
.VERSION 1.0 .GUID 2b8e4f11-3c9a-4f0d-8a77-6e1c9b4f2a33 .AUTHOR Mert Efe Kanlikilic .DESCRIPTION A remediation script that repairs Windows Update components and resolves common update-related issues on Windows devices. #> Write-Output "Starting remediation" Set-Service wuauserv -StartupType Automatic Start-Service wuauserv -ErrorAction SilentlyContinue $bits = Get-Service BITS if ($bits.StartType -eq "Disabled") { Set-Service BITS -StartupType Manual } Set-Service UsoSvc -StartupType Automatic $medic = Get-Service WaaSMedicSvc if ($medic.StartType -eq "Disabled") { sc.exe config WaaSMedicSvc start= demand } try { $session = New-Object -ComObject Microsoft.Update.Session $searcher = $session.CreateUpdateSearcher() $searcher.Search("IsInstalled=0") Write-Output "Scan triggered via COM" } catch { Write-Output "Fallback to UsoClient" UsoClient StartScan } Write-Output "Remediation completed" exit 0 |