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

1
powershell Start-Process powershell -Verb runAs

Configurar el proxy si es necesario

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

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

Otra forma de poner el proxy

1
2
3
4
$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

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

1
2
3
[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

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

Para quitarlo

1
netsh winhttp reset proxy

Comprobación

Para hacer una prueba y comprobar si tenemos acceso a internet

1
Invoke-WebRequest google.es

Instalar NuGet

1
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

Como daba problemas al final a mi me ha funcionando con

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

Con

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

Registrar el repositorio PSGallery

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

Instalar el módulo PSWindowsUpdate

1
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

1
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

1
Get-ExecutionPolicy

Para cambiar la política

1
Set-ExecutionPolicy -ExecutionPolicy <políticanueva>

Por ejemplo

1
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

1
(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

1
Get-WURebootStatus

Historial de Actualizaciones

1
Get-WUHistory

1
Get-WUInstallerStatus

Para ver la versión del sistema operativo ejecutar

1
systeminfo
desde la línea de comandos

Referencias