PowerShell ile WSUS kurulumu ve yapilandirmasi (tr TR) - EmreOzanMemis/PowerShell-WindowsServer-Scripts GitHub Wiki

 

Install-WindowsFeature kurulum komutu ile iligli servisimiz WSUS için isim tanımlası ve yönetim araçlarını yüklemek için gerekli tanımlamaları aşağıdaki şekilde komutuma yazarak işlemlerime başlıyorum.

 

WSUS kurulum komutu

 

 

PowerShell
powershell
Install-WindowsFeature UpdateServices -IncludeManagementTools

 

WSUS yapilandirma için aşağıdaki scripti kendinize göre düzenliyerek yapilandirma scriptini genişletebilirsiniz.

WSUS yapilandirma scripti

 

PowerShell
powershell
### WUSUS post-deplpyment yapilandirma ayarlari
. "C:\Program Files\Update Services\Tools\WsusUtil.exe" postinstall CONTENT_DIR=C:\WSUS

WSUS nesnesinin tanımlanması

$wsus = Get-WSUSServer

WSUS yapilandirma tanimlamasi

$wsusConfig = $wsus.GetConfiguration()

Microsoft güncellemelerinin yapilandirilamsi

Set-WsusServerSynchronization –SyncFromMU

Güncelleme paketi dil tanımlaması sadece ingilizce yapilandirilmisiti bu bölümde istediğiniz dilleri virgul ekleyerek kısa kodunu yazabilirsiniz.

$wsusConfig.AllUpdateLanguagesEnabled = $false
$wsusConfig.SetEnabledUpdateLanguages("en")
$wsusConfig.Save()

WSUS ve Microsoft güncelleme SYNC tanimlamasi

$wsus.GetSubscription().StartSynchronizationForCategoryOnly() start-sleep 15

SYNC tanimlamasi

while ($wsus.GetSubscription().GetSynchronizationStatus() -ne "NotProcessing") { $time = get-date -UFormat "%H:%M:%S" $total = $wsus.GetSubscription().getsynchronizationprogress().totalitems $processed = $wsus.GetSubscription().getsynchronizationprogress().processeditems $process = $processed/$total $progress = "{0:P0}" -f $process Write-Host "" Write-Host "The first synchronization isn't completed yet $time" Write-Host "Kindly have patience, the progress is $progress" Start-Sleep 10 } Write-Host "The synchronization has completed at $time" -ForegroundColor Green Write-Host "The WSUS Configuration will now continue" -ForegroundColor Green

Guncelleme urunlerinin tanimlanmasi, bu bolumu genisletebilrisiniz. Ben örnek için sadece Windows Server 2019 ekledim scritpti genisleterek diger urunleride ekleyebilirsiniz.

write-host 'Setting WSUS Products' Get-WsusProduct | where-Object { $_.Product.Title -in ( 'Windows Server 2019') } | Set-WsusProduct

Guncelleme sinfilarinin tanimlanmasi yine bu bolumde de siniflari arttirabilir yada azaltabilirsiniz.

write-host 'Setting WSUS Classifications' Get-WsusClassification | Where-Object { $_.Classification.Title -in ( 'Critical Updates', 'Definition Updates', 'Feature Packs', 'Security Updates', 'Service Packs', 'Update Rollups', 'Updates') } | Set-WsusClassification

SYNC yapilandirmasi

write-host 'Enabling WSUS Automatic Synchronisation' $subscription = $wsus.GetSubscription() $subscription.SynchronizeAutomatically=$true

otomatik sync yapilandirmasi

$subscription.SynchronizeAutomaticallyTimeOfDay= (New-TimeSpan -Hours 0) $subscription.NumberOfSynchronizationsPerDay=1 $subscription.Save()

Guncellenecek hedef grubun belirlenmesi

$wsus.CreateComputerTargetGroup("Updates")

Guncelleme paketlerinin onaylanmasi

write-host 'Configuring default automatic approval rule' [void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") $rule = $wsus.GetInstallApprovalRules() | Where { $.Name -eq "Default Automatic Approval Rule"} $class = $wsus.GetUpdateClassifications() | ? {$.Title -In ( 'Critical Updates', 'Security Updates')} $class_coll = New-Object Microsoft.UpdateServices.Administration.UpdateClassificationCollection $class_coll.AddRange($class) $rule.SetUpdateClassifications($class_coll) $rule.Enabled = $True $rule.Save()

Computer groupların güncelleme islemi

$wsusConfig.OobeInitialized = $true $wsusConfig.Save()

SYNC baslamasi

$wsus.GetSubscription().StartSynchronization()

⚠️ **GitHub.com Fallback** ⚠️