Actualizar estaciones usando PowerShell

Actualizar Windows

Lo primero es ejecutar powershell desde una consola administrador. Para lanzar powershell desde la línea de comandos como administrador

powershell Start-Process powershell -Verb runAs

Configurar el proxy si es necesario

Dentro de poweshell si usamos proxy debemos de especificar primero el mismo

netsh winhttp set proxy "miproxy:puerto"
o bien
netsh winhttp import proxy source=ie

Otra forma de poner el proxy

$proxy = '172.19.254.2:8080'
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
[system.net.webrequest]::defaultwebproxy = new-object system.net.webproxy($proxy)
[system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal = $true

También podemos añadirlo en nuestro perfil añadiendo las siguientes líneas al mismo, abrimos el perfil

notepad $PROFILE
Añadimos al PROFILE las siguientes líneas:

[system.net.webrequest]::defaultwebproxy = new-object system.net.webproxy('http://miproxy:mipuerto')
[system.net.webrequest]::defaultwebproxy.credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
[system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal = $true

Configurar para que se use TLS1.2

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Para quitarlo

netsh winhttp reset proxy

Comprobación

Para hacer una prueba y comprobar si tenemos acceso a internet

Invoke-WebRequest google.es

Instalar NuGet

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force 

Como daba problemas al final a mi me ha funcionando con

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -proxy 'http:\\172.19.254.2:8080' 

Con

Get-PackageProvider -ListAvailable
podemos ver los paquetes que tenemos instalados

Registrar el repositorio PSGallery

Register-PSRepository -Name "PSGallery" –SourceLocation "https://www.powershellgallery.com/api/v2/" -InstallationPolicy Trusted 

Instalar el módulo PSWindowsUpdate

Install-Module PSWindowsUpdate

Si te da error mirar https://www.sysadmit.com/2021/11/windows-powershell-error-instalar-nuget.html

Importamos el módulo a la sesión actual

Import-Module PSWindowsUpdate

error porque está deshabilitada la ejecución de scripts

Si al ejecutar algún comando nos da error de que no pudo cargarse es probable que tenga restringida la ejecución de scripts

Para saber que política se aplica en el equipo ejecutamos

Get-ExecutionPolicy

Para cambiar la política

Set-ExecutionPolicy -ExecutionPolicy <políticanueva>

Por ejemplo

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Comandos del módulo
  • Para saber todos los comandos del módulo ejecutar → Get-Command –Module PSWindowsUpdate
  • Ver las opciones configuradas→Get-WUSettings
  • Ver las actualizaciones pendientes→ Get-WindowsUpdate o Get-WUList
  • Ver la última vez que actualizó` (New-Object -com “Microsoft.Update.AutoUpdate”).Results|fl`
  • Instalar las actualizaciones → Install-WindowsUpdate
  • Instalar y reinciar Install-WindowsUpdate -AcceptAll -AutoReboot
  • Instalar un KB específico → Get-WindowsUpdate -Install -KBArticleID 'KB4560960'

Ver la fecha de la última actualización

(New-Object -com "Microsoft.Update.AutoUpdate").Results|fl

https://www.sysadmit.com/2019/03/windows-update-ver-fecha-powershell.html

Para saber si necesita reiniciar

Get-WURebootStatus

Historial de Actualizaciones

Get-WUHistory

Get-WUInstallerStatus

Para ver la versión del sistema operativo ejecutar

systeminfo
desde la línea de comandos

Referencias