meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
windows:wsus [302021/04/ 11:45] lcwindows:wsus [192024/03/ 22:36] (actual) – [El equipo no aparece en el WSUS] lc
Línea 1: Línea 1:
 +{{tag>windows update wsus xp parches actualizaciones 7 2008}}
  
 +===== Instalación de parches en Windows =====
 +Para parchear equipos con de windows podemos usar diversas alternativas
 +
 +=== Dentro de un dominio ===
 +Lo mejor es utilizar un servidor como WSUS . Configuramos mediante una GPO para indicar el servidor local donde deben de conectarse los clientes y verificamos el acceso de los mismos al servidor por los puerto 8530 y 8531.
 +
 +=== Equipos Fuera de un dominio  ===
 +  * WSUS Offline Update http://download.wsusoffline.net/
 +  * winup.es
 +  * Mediante un script [[https://msdn.microsoft.com/en-us/library/aa387102(VS.85).aspx]]
 +
 +Si tenemos equipos que no pertenecen al dominio pero queremos que se actualizen desde el servidor WSUS debemos de hacer lo siguiente:
 +  * Creamos un fichero de texto con el siguiente contenido y lo salvamos con extensión **reg**
 + <sxh>Windows Registry Editor Version 5.00
 +[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
 +"WUServer"="http://ipservidorwsus:8530"
 +"WUStatusServer"="ipservidorwsus:8530"
 +
 +[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
 +"NoAutoUpdate"=dword:00000000
 +"UseWUServer"=dword:00000001</sxh> 
 +
 +Copiamos el fichero creado al equipo que queramos que se actualize. Pinchamos sobre el mismo dos veces para que nos añada los valores anteriores al registro del equipo.
 +
 +Ejecutamos desde una ventana de comandos (cmd) lo siguiente <sxh>wuauclt.exe /reportnow /detectnow</sxh> y deberíamos de ver el equipo en la lista de equipos clientes del servidor WSUS
 +
 +<note> En caso de que sigamos sin ver el equipo cliente en la consola del servidor, ejecutamos en el equipo cliente los siguiente <sxh>wuauclt.exe /resetauthorization /detectnow</sxh></note>
 +
 +
 +
 +==== Windows 10 ====
 +En las versiones de windows 10 y windows 2016 la utilidad **wuauclt** ha sido reemplazada por **usoclient** . Ahora para lanzar una búsqueda de actualizaciones desde windows 10, tendríamos que abrir una consola como **administrador**y ejecutar <sxh>usoclient StartScan</sxh>
 +Las opciones que podemos usar con usoclient son :
 +    *  **StartScan** -> Para buscar que parches nos faltan 
 +    *  **StartDownload** -> Descarga los parches 
 +    *  **StartInstall** -> Instala los parches descargados 
 +    *  **RefreshSettings** -> Para cargar los nuevos valores si se ha hecho algún cambio
 +    *  **StartInteractiveScan** -> Escaneo interactivo 
 +    *  **RestartDevice** -> Reinicia el equipo al terminar de instalar los parches 
 +    *  **ScanInstallWait** -> Combina escanear, descargar e instalar 
 +    *  **ResumeUpdate** ->Realiza el update en el inicio del equipo
 +=== Actualizar W10 con Powershell ===
 +  - Arrancamos powershell
 +  - Instalamos el módulo -> Install-Module PSWindowsUpdate
 +  - Get-Command -Module PSWindowsUpdate
 +  - Ver las actualizaciones pendientes-> Get-WindowsUpdate
 +  - Instalar las actualizaciones -> Install-WindowsUpdate
 +  - Install-WindowsUpdate -AcceptAll -AutoReboot
 +  - Instalar un KB específico -> Get-WindowsUpdate -Install -KBArticleID 'KB4560960'
 +
 +=== Actualizar W10 con un script ===
 +Creamos el siguiente script de powershell y lo llamamos actualizar.ps1
 +<sxh>
 +$winVer = [System.Environment]::OSVersion.Version.Major
 +$dir = 'C:\_Windows_FU\packages'
 +mkdir $dir
 +
 +if ($winVer -eq 10)
 +    {  
 +        $webClient = New-Object System.Net.WebClient
 +        $url = 'https://go.microsoft.com/fwlink/?LinkID=799445'
 +        $file = "$($dir)\Win10Upgrade.exe"
 +        $webClient.DownloadFile($url,$file)
 +        Start-Process -FilePath $file -ArgumentList '/quietinstall /skipeula /auto upgrade /copylogs $dir'
 +        } 
 +    
 +    else 
 +
 +        {
 +            echo "This is Not Windows10 OS "
 +        }
 +    
 +sleep 10
 +
 +Remove-Item "C:\_Windows_FU" -Recurse -Force -Confirm:$false 
 +</sxh>
 +
 +Ojo el link $url hay que cambiarlo según el upgrade que queramos instalar
 +
 +Para ejecutarlo 
 +powershell.exe -ExecutionPolicy Bypass ./actualizar.ps1
 +
 +https://www.urtech.ca/2018/11/solved-easily-script-windows-10-to-download-install-and-restart-for-windows-updates/
 +
 +=== Otro Script ===
 +https://www.signalwarrant.com/force-wsus-checkin-with-powershell-2/
 +<sxh>
 +#  *** THIS SCRIPT IS PROVIDED WITHOUT WARRANTY, USE AT YOUR OWN RISK ***
 +<#
 +
 +.DESCRIPTION
 + Starts the Windows Update service (wuauserv) if it is stopped and forces a checkin 
 +    with the WSUS Server. This function uses the Invoke-Command CMDlet which 
 +    will require PSRemoting to be enabled on the target machine. 
 +
 +.NOTES
 + File Name: force-WSUScheckin.ps1
 + Author: David Hall
 + Contact Info: 
 + Website: www.signalwarrant.com
 + Twitter: @signalwarrant
 + Facebook: facebook.com/signalwarrant/
 + Google +: plus.google.com/113307879414407675617
 + YouTube Subscribe link: https://www.youtube.com/channel/UCgWfCzNeAPmPq_1lRQ64JtQ?sub_confirmation=1
 + Requires: PowerShell Remoting Enabled (Enable-PSRemoting) 
 + Tested: PowerShell Version 5
 +
 +.PARAMETER ComputerName
 +    See the examples below, the computername can be one or 
 +    many computer names
 +  
 +.EXAMPLE
 +     .\force-WSUScheckin.ps1 -ComputerName CL1
 +     .\force-WSUScheckin.ps1 -ComputerName CL1 -verbose
 +     .\force-WSUScheckin.ps1 -ComputerName CL1, CL2 -verbose
 +     .\force-WSUScheckin.ps1 -ComputerName (Get-Content -Path "C:\computers.txt") -verbose
 +
 +#>
 +[CmdletBinding()]
 +Param(
 +[Parameter(Mandatory=$True)]
 +[string[]]$ComputerName
 +
 +)
 +
 +$service = get-service -Name wuauserv
 +
 +# Check to see if the wuauserv service is stopped
 +if ($service.Status -eq "Stopped"){
 +
 +# If the service is stopped we're going to start it and force WSUS checkin
 +# then Exit
 +Write-verbose "1. WUAUSERV is stopped... starting"
 +Invoke-Command -ComputerName $ComputerName -scriptblock {Start-Service wuauserv}
 +[System.Threading.Thread]::Sleep(3000)
 +
 +Write-verbose "2. Forcing WSUS Checkin"
 +Invoke-Command -ComputerName $ComputerName -scriptblock {wuauclt.exe /detectnow}
 +[System.Threading.Thread]::Sleep(1500)
 +
 +Write-verbose "3. Checkin Complete"
 +Exit
 +
 +} else {
 +
 +# If the service is started we'll just force the WSUS checkin and Exit
 +Write-verbose "1. Forcing WSUS Checkin"
 +Invoke-Command -ComputerName $ComputerName -scriptblock {wuauclt.exe /detectnow}
 +[System.Threading.Thread]::Sleep(1500)
 +
 +Write-Verbose "2. Checkin Complete"
 +Exit
 +
 +}
 +</sxh>
 +
 +
 +=== Forzar la sincronización con WSUS ===
 +Ejecutar desde powershell en el equipo ccon problemas  -> <sxh>
 +$updateSession = new-object -com "Microsoft.Update.Session"; $updates=$updateSession.CreateupdateSearcher().Search($criteria).Updates</sxh>
 +
 +Forzar la sincronización mediante un script 
 +<sxh>
 +Function Force-WSUSCheckin($Computer)
 +{
 +   Invoke-Command -computername $Computer -scriptblock { Start-Service wuauserv -Verbose }
 +   # Have to use psexec with the -s parameter as otherwise we receive an "Access denied" message loading the comobject
 +   $Cmd = '$updateSession = new-object -com "Microsoft.Update.Session";$updates=$updateSession.CreateupdateSearcher().Search($criteria).Updates'
 +   &amp; c:\bin\psexec.exe -s \\$Computer powershell.exe -command $Cmd
 +   Write-host "Waiting 10 seconds for SyncUpdates webservice to complete to add to the wuauserv queue so that it can be reported on"
 +   Start-sleep -seconds 10
 +   Invoke-Command -computername $Computer -scriptblock
 +   {
 +      # Now that the system is told it CAN report in, run every permutation of commands to actually trigger the report in operation
 +      wuauclt /detectnow
 +      (New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow()
 +      wuauclt /reportnow
 +      c:\windows\system32\UsoClient.exe startscan
 +   }
 +}
 +</sxh>
 +
 +https://pleasework.robbievance.net/howto-force-really-wsus-clients-to-check-in-on-demand/
 +==== Problemas WSUS y XP ====
 +
 +Si aún tenemos máquinas con windows xp que se tienen que actualizar desde el wsus y no están cogiendo las actualizaciones y aún poniendo el paquete de objetos para la versión del servidor (Group Policy Preference Client Side Extensions for Windows XP (KB943729) )sigue sin actualizar. Podemos mirar en la estación en c:\windows\WindowsUpdate.log para ver de donde vienen el problema.
 +
 +Para resolverlo podemos cambiar los permisos de los servicios de actualizaciones automáticas (wuaserv) y el servicio de transferencia inteligente en segundo plano (Bits)
 +<code>sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)</code>
 +<code>sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)</code>
 +
 +<note warning>Habilitar e iniciar los servicios wuaserv y bits</note>
 +
 +==== Problemas con las actualizaciones de windows ====
 +=== Problemas con el Proxy ===
 +Resetear la configuración del proxy (por ejemplo si nos descargamos los parches de un servidor wsus local)
 +<sxh>netsh winhttp reset proxy</sxh> o bien <sxh>netsh winhttp import proxy source=ie</sxh>
 +
 +Si sigue fallando probar con :
 +<sxh>net stop bits
 +net stop wuauserv
 +reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /f
 +rd /s /q %WINDIR%\SoftwareDistribution
 +gpupdate /force
 +wuauclt /resetauthorization /detectnow
 +</sxh>
 +
 +
 +https://wuinstall.com/index.php/blog-list/item/11-force-windows-10-updates-command-line.html
 +
 +==== El equipo no aparece en el WSUS ====
 +Podemos abrir un terminal y ejecutar el wuauclt.exe con alguna de estas opciones:
 +  *     /ResetAuthorization /DetectNow (o /a /d)
 +  *     /DetectNow (o /d)
 +  *     /ReportNow /DetectNow (o /r /d)
 +  *     /UpdateNow
 +  *     /ShowWUAutoScan
 +  *     /ShowWindowsUpdate
 +  *     /CloseWindowsUpdate
 +  *     /ShowWU
 +  *     /DemoUI
 +  *     /IdleShutdownNow
 +  *     /ShowOptions
 +  *     /SelfUpdateUnmanaged
 +  *     /SelfUpdateManaged
 +  *     /ResetEulas
 +  *     /ShowSettingsDialog
 +  *     /RunHandlerComServer
 +
 +Por ejemplo para actualizar la conexión de la estación al servidor de wsus <sxh>wuauclt.exe /resetauthorization /detectnow</sxh>
 +
 +
 +== Referencias ==
 +  * http://www.petenetlive.com/KB/Article/0000591
 +  * http://gonsystem.blogspot.com.es/search/label/Microsoft%20Windows%20Wsus
 +  * http://pauby.com/blog/windows-update-agent-utility-wuauclt-exe/
 +
 +==== Otros problemas ====
 +
 +  * https://techcommunity.microsoft.com/t5/configuration-manager-archive/recreating-the-susdb-and-wsus-content-folder-for-a-windows/ba-p/274122
 +  * https://michlstechblog.info/blog/windows-reset-wsus-and-recreate-susdb/
 +  * https://www.cenabit.com/2018/08/mover-los-parches-de-wsus-a-otro-disco/
 +  * forzar el chequeo -> https://pleasework.robbievance.net/howto-force-really-wsus-clients-to-check-in-on-demand/
 +
 +==== Error 7053 ====
 +  * https://www.wincert.net/windows-server/wsus-error-connection-error-event-id7053/
 +  * https://elcegu.wordpress.com/2017/06/08/windows-server-2012r2-wsus-y-el-error-7053-system-nullreferenceexception/
 +
 +
 +
 +
 +
 +==== Parches fuera de ciclo ====
 +Existe una página de Microsoft desde donde podemos bajarnos parches para un [[http://www.catalog.update.microsoft.com|KB]]  (Microsoft Knowledge Base) en particular.  
 +
 +Por ejemplo para bajar los parches para el famoso virus WannaCry -> http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598
 +
 +==== Referencias ====
 +  * http://social.technet.microsoft.com/Forums/windowsserver/en-US/f3fb4c50-4fa5-42a1-9ee6-f77c273233ba/wsus-30-xp-clients-not-updating-automatically-servers-updating-ok?forum=winserverwsus
 +  * Lista comandos netsh-> http://support.microsoft.com/kb/242468/es
 +  * http://www.sysadmit.com/2013/12/windows-update-solucionar-problemas.html
 +  * https://bloginspanish.wordpress.com/2016/06/18/wsus-usarlo-sin-dominio-y-algunos-consejos/
 +  * https://helpdeskgeek.com/windows-10/how-to-force-windows-10-to-install-an-update/
 +  * https://social.technet.microsoft.com/Forums/windows/en-US/51104081-4ed7-4fdd-8b12-5d1f5be532ae/windows-10-feature-update-via-cmd-powershell-or-gpo?forum=win10itprogeneral
 +  * https://www.tenforums.com/tutorials/76207-update-upgrade-windows-10-using-powershell.html
 +  * https://www.maquinasvirtuales.eu/curso-basico-de-powershell-ejecucion-de-scripts/
 +  * http://woshub.com/using-powershell-behind-a-proxy/
 +  * https://win10.guru/use-powershell-to-update-and-upgrade-windows-10/
 +  * https://pureinfotech.com/install-windows-10-update-powershell/
 +  * https://raymii.org/s/blog/Windows_10_Updates_with_PowerShell_PSWindowsUpdpate.html
 +  * https://www.ajtek.ca/wsus/client-machines-not-reporting-to-wsus-properly/
 +  * https://blog.ragasys.es/instalacion-y-configuracion-de-wsus-en-ms-windows-server-2019