В начало блога На главную

Windows Server Update Services PowerShell установка

Windows Server Update Services — роль для регулирования и установки обновлений microsoft в локальной сети. Другими словами WSUS получает требуемые обновления из microsoft и раздает их далее внутри сети. Установку Update Services можно производить как визуально так и без gui через cmd, powershell. Для работы wsus обязательно требуется наличие установленного IIS веб-сервера. Это можно сделать через командную строку через Deployment Image Servicing and Management — DISM.

DISM /Online /Enable-Feature /FeatureName:IIS-Wev-Server /all
/Online - установить из интернет, а не из образа
/Enable-Feature - установить
/FeatureName:IIS-Wev-Server - название устанавливаемого
/all - установить требуемые зависимости

powershellwsus (1)

Далее установку проще проводить из powershell. Для начала создается папка в которой будут располагаться обновления wsus.
powershellwsus (2)

Для проверки устанавливаемых и зависимых компонентов можно использовать команду:
Install-WindowsFeature -Name UpdateServices -WhatIf
powershellwsus (3)

Чтобы посмотреть что включает в себя роль Windows Server Update Services и установить требуемые компоненты используются следующие команды:

Get-WindowsFeature -Name UpdateServices*
Install-WindowsFeature -Name UpdateServices, UpdateServices-WidDB

Install-WindowsFeature -Name — установить следующие компоненты
UpdateServices-WidDB — уточнение что будет устанавливаться внутренняя база данных

powershellwsus (4)

После установки служб и компонентов можно проверить результат и нужно запустить пост-установку.

cd "c:\Program Files\Update Services\Tools\"
.\WsusUtil.exe PostInstall CONTENT_DIR=C:\WSUS

Для разрешения подключений к серверу внутри доменной сети можно установить правила файрволла под доменный профиль.

netsh advfirewall set domainprofile firewallpolicy allowinbound, allowoutbound
powershellwsus (5)

Проверить установку и настройку WSUS можно с помощью Best Practices Analyzer.
Invoke-BpaModel -ModelId Microsoft/Windows/UpdateServices
Get-BpaResult -ModelId Microsoft/Windows/UpdateServices | Select Title,Severity,Compliance | Format-List

powershellwsus-(6)

Далее нужно настроить основные параметры работы сервера обновлений.
http://msdn.microsoft.com/en-us/library/microsoft.updateservices.administration.iupdateserverconfiguration_properties(v=vs.85).aspx

Получение конфигурации:
$wsus = Get-WSUSServer
$wsusConfig = $wsus.GetConfiguration()
Set-WsusServerSynchronization –SyncFromMU
$wsusConfig.AllUpdateLanguagesEnabled = $false
$wsusConfig.SetEnabledUpdateLanguages("ru")
$wsusConfig.Save()
$subscription = $wsus.GetSubscription()
$subscription.StartSynchronizationForCategoryOnly()

Get-WsusProduct | where-Object {
$_.Product.Title -in (
'CAPICOM',
'Silverlight',
'SQL Server 2008 R2',
'SQL Server 2005',
'SQL Server 2008',
'Exchange Server 2010',
'Windows Server 2003',
'Windows Server 2008',
'Windows Server 2008 R2')
} | Set-WsusProduct

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

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

[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | Out-Null
$wsus = Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer("192.168.10.203","false",8530);
$wsus.GetSubscription().StartSynchronization();

Рассказать: