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;
|
|
}
|