81 lines
2.9 KiB
Plaintext
81 lines
2.9 KiB
Plaintext
|
||
#Primero nos conectamos al equipo Core donde vamos a instalar el WSUS
|
||
Enter-PSSession -ComputerName WSUSSRV01
|
||
|
||
#Miramos que características tenemos que instalar
|
||
Get-WindowsFeature UpdateServices*
|
||
|
||
#Instalamos todos menos SQL
|
||
Install-WindowsFeature UpdateServices,UpdateServices-WidDB,UpdateServices-Services
|
||
|
||
#Comprobamos que se han instalado todo
|
||
Get-WindowsFeature UpdateServices*
|
||
|
||
#Inicializamos el disco y preparamos apra recibir los datos de las actualizaciones.
|
||
Get-Disk
|
||
Initialize-Disk -Number 1 -PartitionStyle MBR
|
||
New-Partition -DiskNumber 1 -UseMaximumSize
|
||
Get-Partition -PartitionNumber 1 | Format-Volume -FileSystem NTFS -NewFileSystemLabel «Data» -Confirm: $false
|
||
Set-Partition -DiskNumber 1 -NewDriveLetter E
|
||
|
||
#Llevamos a cabo la postinstalacion y le indicamos la ruta donde guardar las descargas
|
||
cd ‘C:\Program Files\Update Services\Tools’
|
||
WsusUtil.exe postinstall /?
|
||
wsusutil.exe postinstall CONTENT_DIR=E:\WSUS
|
||
|
||
#Creamos las variables necesarias para configurar el WSUS
|
||
$wsus=Get-WsusServer
|
||
|
||
#Ya que solo tenemos un servidor WSUS. Guardamos la configuración en una variable
|
||
$wsusconfig=$wsus.GetConfiguration()
|
||
|
||
|
||
#Configuramos el servidor como Upstream.
|
||
Set-WsusServerSynchronization -SyncFromMU
|
||
|
||
#Indicamos que solo queremos descargar actualizaciones y parches en inglés
|
||
$wsusconfig.AllUpdateLanguagesDssEnabled =$false
|
||
$wsusconfig.SetEnabledUpdateLanguages(«en»)
|
||
$wsusconfig.Save()
|
||
|
||
#Descargamos las bases de actualizaciones y parches
|
||
$subscription=$wsus.GetSubscription()
|
||
$subscription.StartSynchronizationForCategoryOnly()
|
||
While ($subscription.GetSynchronizationStatus() -ne ‘NotProcessing’){
|
||
Write-Host «.» -NoNewline
|
||
Start-Sleep -Seconds 20
|
||
}
|
||
Write-Host «Sync is done»
|
||
|
||
#Seleccionamos los productos de los que queremos descargar actualizaciones y parches
|
||
Get-WsusProduct | Where-Object{
|
||
$_.Product.Title -in(
|
||
‘Windows Server 2016’,
|
||
‘Windows 10’
|
||
)
|
||
}|Set-WsusProduct
|
||
|
||
#Clasificacion de actualizaciones que vamos a instalar. En nuestro caso solo Security y Critical.
|
||
Get-WsusClassification | Where-Object {
|
||
$_.Classification.Title -in (
|
||
#’Update Rollups’,
|
||
‘Security Updates’,
|
||
‘Critical Updates’
|
||
#’Service Packs’,
|
||
#’Updates’
|
||
)
|
||
} | Set-WsusClassification
|
||
|
||
#Vamos a programar la sincronizacion, para decirle cuando se va a ejecutar
|
||
$subscription.SynchronizeAutomatically=$true
|
||
$subscription.SynchronizeAutomaticallyTimeOfDay=(New-TimeSpan -Hours 0)
|
||
$subscription.NumberOfSynchronizationsPerDay=1
|
||
$subscription.Save()
|
||
$subscription.StartSynchronization()
|
||
|
||
#Aprobamos las actualizaciones y parches descargados
|
||
Get-WsusUpdate -Classification All -Approval Unapproved -Status FailedOrNeeded | Approve-WsusUpdate -Action -TargetGroupName “Unassigned Computers”
|
||
|
||
#Ver si tenemos equipos registrados en el WSUS
|
||
Get-WsusComputer
|