CmdLets/Update-Windows.ps1
|
Function Update-Windows { [CmdletBinding()] Param( [Parameter()][Switch]$Reboot ) try { Write-Host "Creating Update Session" $Session = New-Object -Com Microsoft.Update.Session Write-Host "Beginning Windows Updates" $Updates = Get-WindowsUpdates $Session if ($updates.count -eq 0) { Write-Host "No Updates Found" } else { Write-Host "Windows Updates Found" Sync-WindowsUpdates -Updates $Updates -Session $Session $WURestart = Install-WindowsUpdates -Updates $Updates -Session $Session } if ($WURestart -and $Reboot.IsPresent) { Restart-Computer } elseif ($WURestart) { Write-Host "Restart Required" -ForegroundColor Red } } catch { Write-Host $_.tostring() } } |