Installatie van Windows updates via powershell

Er zijn hier al meerdere artikelen de revue gepasseerd over het onderwerp updates. Zo was er het instellen van Windows Updates via powershell, en het herstellen van Windows Updates wanneer dit proces stokt.

Ditmaal gaat het over de installatie ervan via powershell. Ik maak hiervan gebruik van de powershell module PSWindowsUpdate. Voordat ik deze module kan installeren moet ik de NuGet Package provider installeren.

Zet eerst je Execution Policy op remote signed

Set-ExecutionPolicy RemoteSigned

Installeer vervolgens NuGet

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

Hierbij kun je tegen een foutmelding aanlopen, zoals je hieronder ziet

PS C:\Windows\system32> Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409' to ''.
WARNING: Unable to download the list of available providers. Check your internet connection.
Install-PackageProvider : No match was found for the specified search criteria for the provider 'NuGet'. The package provider requires 'PackageManagement' and 'Provider' tags. Please check if the specified package has the tags.
At line:1 char:1

Om de foutmelding te verhelpen voer je het onderstaande uit, waarna je het nogmaals probeert.

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

Installeer vervolgens de powershell module PSWindowsUpdate

Install-Module PSWindowsUpdate

Met behulp van Get-Command –module PSWindowsUpdate krijg je en overzicht van de mogelijke commando opdrachten die voor handen zijn.

PS C:\Windows\system32> Get-Command –module PSWindowsUpdate

PS C:\Windows\system32> Get-Command –module PSWindowsUpdate
CommandType Name Version Source
----------- ---- ------- ------
Alias Clear-WUJob 2.2.0.2 PSWindowsUpdate
Alias Download-WindowsUpdate 2.2.0.2 PSWindowsUpdate
Alias Get-WUInstall 2.2.0.2 PSWindowsUpdate
Alias Get-WUList 2.2.0.2 PSWindowsUpdate
Alias Hide-WindowsUpdate 2.2.0.2 PSWindowsUpdate
Alias Install-WindowsUpdate 2.2.0.2 PSWindowsUpdate
Alias Show-WindowsUpdate 2.2.0.2 PSWindowsUpdate
Alias UnHide-WindowsUpdate 2.2.0.2 PSWindowsUpdate
Alias Uninstall-WindowsUpdate 2.2.0.2 PSWindowsUpdate
Cmdlet Add-WUServiceManager 2.2.0.2 PSWindowsUpdate
Cmdlet Enable-WURemoting 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WindowsUpdate 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WUApiVersion 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WUHistory 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WUInstallerStatus 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WUJob 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WULastResults 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WUOfflineMSU 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WURebootStatus 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WUServiceManager 2.2.0.2 PSWindowsUpdate
Cmdlet Get-WUSettings 2.2.0.2 PSWindowsUpdate
Cmdlet Invoke-WUJob 2.2.0.2 PSWindowsUpdate
Cmdlet Remove-WindowsUpdate 2.2.0.2 PSWindowsUpdate
Cmdlet Remove-WUServiceManager 2.2.0.2 PSWindowsUpdate
Cmdlet Reset-WUComponents 2.2.0.2 PSWindowsUpdate
Cmdlet Set-PSWUSettings 2.2.0.2 PSWindowsUpdate
Cmdlet Set-WUSettings 2.2.0.2 PSWindowsUpdate
Cmdlet Update-WUModule 2.2.0.2 PSWindowsUpdate

Voor een overzicht van beschikbare updates voor je het volgende uit:

Get-WindowsUpdate

Dit geeft je een lijst van beschikbare updates voorzien van het bijbehorende knowledgebase artikel nummer. Wil je een specifieke update installeren, dan doe je dat met de volgende opdracht:

Get-WindowsUpdate -Install -KBArticleID "KB4550994"

Wil je alle beschikbare updates installeren, kies dan voor:

Get-WindowsUpdate -Install -Acceptall -Autoreboot