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
Edit|Remove
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
Edit|Remove
### 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}" -$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() 
 Kaynak: docs.microsoft.com, spiceworks.com