PowerShell Windows Update Kontrolü Nedir?

PowerShell Windows Update kontrolü, sistem yöneticilerinin Windows güncellemelerini manuel işlem yapmadan otomatik olarak denetlemesini, indirmesini ve yüklemesini sağlar.
Bu yöntem özellikle sunucu ortamlarında, Intune veya SCCM bulunmayan sistemlerde ve izole ağlarda büyük kolaylık sunar.

PowerShell ile Windows Update yönetimi, Windows Update Agent API (WUApi) veya PSWindowsUpdate modülü kullanılarak yapılır.

PowerShell Windows Update Modülünü Kurma

İlk adım olarak modülü yükleyelim:

Install-Module PSWindowsUpdate -Force
Import-Module PSWindowsUpdate

İpucu: PowerShell’i Yönetici olarak çalıştırmanız gerekir. Eğer NuGet hatası alırsanız şu komutu uygulayın:

Install-PackageProvider -Name NuGet -Force

Güncellemeleri Listeleme

Sistemdeki mevcut ve eksik güncellemeleri görüntülemek için:

Get-WindowsUpdate

Belirli bir KB numarasını kontrol etmek için:

Get-WindowsUpdate -KBArticleID KB5034441

Güncelleme kontrolünü SCCM ile yapmak istiyorsanız PowerShell ile SCCM Client ve Collection Yönetimi makalemize göz atabilirsiniz.

Güncellemeleri İndirme ve Yükleme Script’i

Aşağıdaki script, sistemdeki tüm uygun güncellemeleri indirir ve yükler:

# PowerShell Windows Update Kontrolü ve Otomatik Yükleme Scripti
Import-Module PSWindowsUpdate

Write-Host "Güncellemeler kontrol ediliyor..." -ForegroundColor Cyan

# Mevcut güncellemeleri listele
$updates = Get-WindowsUpdate -MicrosoftUpdate -AcceptAll

if ($updates) {
Write-Host "Yeni güncellemeler bulundu. Yükleme başlatılıyor..." -ForegroundColor Yellow
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot -IgnoreReboot
Write-Host "Tüm güncellemeler başarıyla yüklendi." -ForegroundColor Green
} else {
Write-Host "Tüm güncellemeler güncel. Yeni güncelleme bulunamadı." -ForegroundColor Green
}

Bu script, Microsoft Update servisini de dahil eder. İsteğe bağlı olarak -AutoReboot parametresini kaldırarak manuel yeniden başlatma yapabilirsiniz.

Hata Yönetimi ve Loglama

Güncelleme sürecinde hata takibi için log kaydı tutmak önerilir.

$LogFile = "C:\Logs\WindowsUpdate_$(Get-Date -Format yyyyMMdd).log"

Get-WindowsUpdate -MicrosoftUpdate -AcceptAll |
Out-File -FilePath $LogFile -Append

Write-Host "Güncelleme raporu kaydedildi: $LogFile"

İpucu: Güncellemeleri yönetmek için planlı görev (Task Scheduler) oluşturarak script’i belirli aralıklarla otomatik çalıştırabilirsiniz.

Gerçek Hayat Senaryosu: Sunucular için Otomatik Güncelleme

Aşağıdaki örnek, domain içindeki tüm sunucularda uzaktan Windows Update işlemi yapar:

$servers = Get-Content "C:\Scripts\serverlist.txt"
foreach ($server in $servers) {
Write-Host "Bağlanılıyor: $server"
Invoke-Command -ComputerName $server -ScriptBlock {
Import-Module PSWindowsUpdate
Get-WindowsUpdate -MicrosoftUpdate -AcceptAll -Install -IgnoreReboot
}
}

Bu senaryo, özellikle SCCM’siz küçük ağlarda Windows patch yönetimini kolaylaştırır.

Artık PowerShell kullanarak:

  • Güncellemeleri denetleyebilir,

  • Eksik yamaları yükleyebilir,

  • Güncellemeleri loglayabilir
    ve hatta tüm bu süreci otomatik hale getirebilirsiniz.

PowerShell, Windows Güncelleme kontrolü gibi rutin işlemleri hızlandırarak sistem yöneticilerine ciddi zaman kazandırır.

Detaylı Bilgi İçin Kaynaklar:

Bir sonraki makalede, PowerShell ile Event Log Yönetimi (Log Temizleme ve Arşivleme) konusuna geçeceğiz.

Tolga CEYHAN

Tolga CEYHAN, bilgi teknolojilerini severek takip eder ve BT üzerine hali hazırda aktif olarak çalışmaktadır. 2006 yılından 2017 yılına kadar web tasarım yazılım üzerine çalışmalar yaptım. Şuan ise Windows Sistem ve Sistem Güvenliği alanında çalışmalarımı sürdürmekteyim.

Recent Posts

PowerShell Komutları (Profesyonel Rehber)

Birçok kişi PowerShell komutları konusuna yalnızca “hangi komut ne işe yarar?” düzeyinde yaklaşır. Oysa profesyonel…

1 ay ago

Windows File Server Migration Rehberi (Adım Adım Veri Taşıma)

Kurumsal IT altyapılarında zamanla depolama ihtiyaçlarının artması, eski sunucuların performansının yetersiz kalması veya yeni mimariye…

1 ay ago

NTFS Permission Tasarımı ve AGDLP Modeli Rehberi

NTFS Permission Tasarımı: AGDLP Modeli ile Kurumsal Yetkilendirme Rehberi Kurumsal ortamlarda NTFS permission tasarımı, dosya…

2 ay ago

Windows File Server Güvenliği Rehberi

Kurumsal yapılarda Windows File Server güvenliği, veri bütünlüğü ve iş sürekliliği açısından kritik öneme sahiptir.…

2 ay ago

Blockchain Mantığı ile PowerShell Log Bütünlüğü

Blockchain Log Bütünlüğü Bu yazımızda blockchain log bütünlüğü üzerine incelemelerde bulunacağız. Günümüz kurumsal sistemlerinde en…

3 ay ago

PowerShell SQL Backup Script – Automated Full Database Backup

A PowerShell SQL Server backup script is a practical way to standardize SQL backups across…

3 ay ago

This website uses cookies.

Read More