پرش به محتوا

WSUS: مدیریت متمرکز به‌روزرسانی‌های ویندوز

نقش WSUS را نصب کنید، فقط محصولات و دسته‌های لازم را همگام کنید، کلاینت‌ها را با GPO به آن وصل کنید و به‌روزرسانی‌ها را مرحله‌ای تأیید کنید.

Windows Server 2025سطح: متوسطبرای: Windows Server 2025، Windows Server 2022، Windows Server 2019به‌روزرسانی: ۱۷ آبان ۱۴۰۵

WSUS به‌روزرسانی‌ها را یک بار از مایکروسافت می‌گیرد و در شبکه‌ی داخلی پخش می‌کند. پهنای باند اینترنت کمتر مصرف می‌شود و شما تعیین می‌کنید کدام به‌روزرسانی کی نصب شود.

مایکروسافت WSUS را در وضعیت «توسعه‌ی متوقف‌شده» قرار داده، ولی نقش آن در Windows Server 2025 هنوز وجود دارد و پشتیبانی می‌شود.

۱. نصب نقش

محتوای به‌روزرسانی‌ها حجم زیادی دارد (ده‌ها تا صدها گیگابایت)، پس آن را روی دیسک جداگانه بگذارید:

powershell
Install-WindowsFeature UpdateServices -IncludeManagementTools
New-Item -ItemType Directory -Path D:\WSUS
& "C:\Program Files\Update Services\Tools\WsusUtil.exe" postinstall CONTENT_DIR=D:\WSUS

۲. انتخاب محصولات و دسته‌ها

همگام‌سازی همه‌ی محصولات دیسک را پر می‌کند. فقط آنچه در شبکه دارید را انتخاب کنید:

powershell
$wsus = Get-WsusServer
Set-WsusServerSynchronization -SyncFromMU

# Fetch the catalog of products/categories once
$sub = $wsus.GetSubscription()
$sub.StartSynchronizationForCategoryOnly()
while ($sub.GetSynchronizationStatus() -ne 'NotProcessing') { Start-Sleep 10 }

Get-WsusProduct | Set-WsusProduct -Disable
Get-WsusProduct | Where-Object { $_.Product.Title -in @(
  'Windows Server 2025', 'Microsoft Server operating system-21H2', 'Windows 11') } | Set-WsusProduct

Get-WsusClassification | Where-Object { $_.Classification.Title -in @(
  'Critical Updates', 'Security Updates', 'Definition Updates', 'Update Rollups') } | Set-WsusClassification

Microsoft Server operating system-21H2 همان Windows Server 2022 است. همگام‌سازی کامل و زمان‌بندی روزانه:

powershell
$sub.SynchronizeAutomatically = $true
$sub.SynchronizeAutomaticallyTimeOfDay = (New-TimeSpan -Hours 1)
$sub.NumberOfSynchronizationsPerDay = 1
$sub.Save()
$sub.StartSynchronization()

۳. گروه‌های کامپیوتر

به‌روزرسانی را اول روی گروه آزمایشی نصب کنید و بعد روی سرورهای اصلی:

powershell
$wsus.CreateComputerTargetGroup('Pilot')
$wsus.CreateComputerTargetGroup('Production')

برای اینکه عضویت گروه از GPO خوانده شود، در کنسول WSUS بخش Options › Computers را روی «Use Group Policy or registry settings» بگذارید.

۴. اتصال کلاینت‌ها با GPO

یک GPO بسازید و آن را به OU سرورها لینک کنید. مقادیر زیر همان تنظیمات بخش Windows Update در Administrative Templates هستند:

powershell
$gpo = 'WSUS - Pilot'
New-GPO -Name $gpo | New-GPLink -Target 'OU=Pilot,OU=Servers,DC=corp,DC=sahor,DC=ir'
$wu = 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate'
Set-GPRegistryValue -Name $gpo -Key $wu -ValueName WUServer -Type String -Value 'http://wsus01.corp.sahor.ir:8530'
Set-GPRegistryValue -Name $gpo -Key $wu -ValueName WUStatusServer -Type String -Value 'http://wsus01.corp.sahor.ir:8530'
Set-GPRegistryValue -Name $gpo -Key $wu -ValueName TargetGroupEnabled -Type DWord -Value 1
Set-GPRegistryValue -Name $gpo -Key $wu -ValueName TargetGroup -Type String -Value 'Pilot'
Set-GPRegistryValue -Name $gpo -Key "$wu\AU" -ValueName UseWUServer -Type DWord -Value 1
Set-GPRegistryValue -Name $gpo -Key "$wu\AU" -ValueName AUOptions -Type DWord -Value 3

AUOptions = 3 یعنی دانلود خودکار و نصب با تصمیم مدیر. روی سرورها این امن‌تر از راه‌اندازی مجدد خودکار است. روی کلاینت اجرا کنید:

powershell
gpupdate /force
usoclient StartScan

۵. تأیید مرحله‌ای

powershell
# Pilot first
Get-WsusUpdate -Classification Security -Approval Unapproved -Status FailedOrNeeded |
  Approve-WsusUpdate -Action Install -TargetGroupName 'Pilot'

# A week later, if nothing broke
Get-WsusUpdate -Classification Security -Approval Approved -Status FailedOrNeeded |
  Approve-WsusUpdate -Action Install -TargetGroupName 'Production'

۶. نگهداری

بدون پاک‌سازی، دیتابیس WSUS کند می‌شود. ماهی یک بار اجرا کنید (یا با Task Scheduler زمان‌بندی کنید):

powershell
Invoke-WsusServerCleanup -DeclineSupersededUpdates -DeclineExpiredUpdates `
  -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CleanupObsoleteComputers