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()
    } 

}