===== 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 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 ===== * https://adamtheautomator.com/pswindowsupdate/ * http://woshub.com/pswindowsupdate-module/ * https://reparar.info/pswindowsupdate-administracion-de-actualizaciones-de-windows-desde-powershell/ * https://adamtheautomator.com/powershell-run-as-administrator/ * https://www.howtogeek.com/117192/how-to-run-powershell-commands-on-remote-computers/ * https://reparar.info/usar-powershell-detras-de-un-servidor-proxy/ * https://reparar.info/pswindowsupdate-administracion-de-actualizaciones-de-windows-desde-powershell/ * https://adamtheautomator.com/pswindowsupdate/ * http://woshub.com/pswindowsupdate-module/ * https://www.parallels.com/blogs/ras/powershell-windows-update/ * https://blog.velingeorgiev.com/install-powershell-5-nuget-sharepointpnppowershellonline-behind-proxy * https://daveshap.github.io/DavidShapiroBlog/powershell/kb/2021/03/12/install-powershell-modules.html * https://spaghettidba.com/2017/12/19/recovering-the-psgallery-repository-behind-a-corporate-proxy/ * https://docs.microsoft.com/es-es/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2 * https://spaghettidba.com/2017/12/19/recovering-the-psgallery-repository-behind-a-corporate-proxy/