Skip to content

PowerShell ile WSUS yapilandirma scripti (tr TR)

Emre Ozan Memis edited this page Oct 15, 2020 · 1 revision

 

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()