25.07.2025

Windows Update takibi

Yerel bilgisayarda Windows Update hizmeti hangi güncellemeleri yüklüyor bulmak kolay. Bunu uzaktaki bir bilgisayar için nasıl yapabiliriz? Windows Update session nesnesinin henüz indirmediği ve gizli olmayan güncellemeleri sorgulayarak olabilir:

Invoke-Command -ComputerName UZAKPC -ScriptBlock {
    $Session = New-Object -ComObject Microsoft.Update.Session
    $Searcher = $Session.CreateUpdateSearcher()
    $Searcher.Online = $true
    $Results = $Searcher.Search("IsInstalled=0 and IsHidden=0")

    $Results.Updates | ForEach-Object {
        [PSCustomObject]@{
            Title       = $_.Title
            Downloaded  = $_.IsDownloaded
            Installed   = $_.IsInstalled
            EULAAccepted= $_.EulaAccepted
        }
    }
} | Format-Table Title, Downloaded, Installed, EULAAccepted -AutoSize -Wrap

Ya da PSWindowsUpdate modülünü kurup, powershell'i yönetici olarak açtıktan sonra

Get-WUList -Computername UZAKPC

diyerek de yapabiliriz. Ama uzaktaki bir bilgisayar için her seferinde yönetici hakları ile yeni bir pencere açmamak için ilk yöntem daha iyi sanki. Sonrasında yeniden başlatmaya gerek olup olmadığını öğrenmek için şu yöntem kullanılabilir.