Eu recomendo usar o módulo powershell PSWindowsUpdate. Ele permite que você ignore as reinicializações.
Import-Module PSWindowsUpdate
Get-WUInstall -AcceptAll -IgnoreReboot
Se você receber o erro "O módulo especificado 'PSWindowsUpdate' não foi carregado porque não foi encontrado nenhum arquivo de módulo válido ..." você pode precisar fazer o download e instalá-lo com este script.
$webDeployURL = "https://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc/file/41459/43/PSWindowsUpdate.zip"
$filePath = "$($env:TEMP)\PSWindowsUpdate.zip"
(New-Object System.Net.WebClient).DownloadFile($webDeployURL, $filePath)
$shell = New-Object -ComObject Shell.Application
$zipFile = $shell.NameSpace($filePath)
$destinationFolder = $shell.NameSpace("C:\Program Files\WindowsPowerShell\Modules")
$copyFlags = 0x00
$copyFlags += 0x04 # Hide progress dialogs
$copyFlags += 0x10 # Overwrite existing files
$destinationFolder.CopyHere($zipFile.Items(), $copyFlags)
# Clean up
Remove-Item -Force -Path $filePath
Import-Module PSWindowsUpdate