35 lines
1,020 B
PowerShell
35 lines
1,020 B
PowerShell
|
<#
|
||
|
.SYNOPSIS
|
||
|
Updates the running Windows machine.
|
||
|
#>
|
||
|
function Update-WindowsInstallation {
|
||
|
<#
|
||
|
Runs the Windows update loop.
|
||
|
#>
|
||
|
function Start-UpdateLoop {
|
||
|
Write-Host "Preparing for Windows Update";
|
||
|
$null = Import-Module PSWindowsUpdate;
|
||
|
|
||
|
while (((Get-WindowsUpdate -IgnoreReboot).Count -gt 0)) {
|
||
|
Write-Host "There are updates available.";
|
||
|
Write-Host "Installing updates";
|
||
|
|
||
|
try {
|
||
|
$null = Install-WindowsUpdate -AcceptAll -IgnoreReboot -ErrorAction "SilentlyContinue";
|
||
|
}
|
||
|
catch { }
|
||
|
|
||
|
if ((Get-WURebootStatus -Silent)) {
|
||
|
Write-Information "A Reboot is Required!";
|
||
|
Write-Information "Windows will reboot now and the installation will be continued automatically.";
|
||
|
return;
|
||
|
}
|
||
|
} else {
|
||
|
Write-Information "Upgrading Windows finished successfully!";
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Start-UpdateLoop;
|
||
|
}
|