## Make sure the computer is running Windows 10 If ( IsWindowsVersion -ge "10.0" ) { ## Make sure the endpoint isn't already running 2004 If ( IsWindowsBuild -lt 19042 ) { ## Set the directory where the Windows Update Assistant will be downloaded to $DOWNLOADS = $Env:TEMP ## URL to the 2004 version of the Windows Update Assistant $URL = 'https://download.microsoft.com/download/3/0/1/301147e7-e3d3-467e-a9eb-003a72840887/Windows10Upgrade9252.exe' ## Uninstall previous Windows 10 Update Assistant If ( Test-Path "${Env:SystemDrive}\Windows10Upgrade\Windows10UpgraderApp.exe" ) { Write-Output "Uninstalling existing Windows 10 Update Assistant" Try { Start-Process "${Env:SystemDrive}\Windows10Upgrade\Windows10UpgraderApp.exe" -ArgumentList '/ForceUninstall' -Wait } Catch { Write-Output $_.Exception.Message } } ## Download Windows 10 Update Assistant $FILENAME = Split-Path $URL -leaf If ( Test-Path "${DOWNLOADS}\${FILENAME}" ) { Write-Output "Deleting existing installer: ${DOWNLOADS}\${FILENAME}" Try { Remove-Item "${DOWNLOADS}\${FILENAME}" -Force -ErrorAction SilentlyContinue } Catch { Write-Output $_.Exception.Message } } Write-Output "Downloading ${URL} to ${DOWNLOADS}\${FILENAME}" Try { (New-Object System.Net.WebClient).DownloadFile($URL,"${DOWNLOADS}\${FILENAME}") } Catch { Write-Output $_.Exception.Message } ## Install and run the Windows 10 Update Assistant If ( Test-Path "${DOWNLOADS}\${FILENAME}" ) { Write-Output "Launching installer: ${DOWNLOADS}\${FILENAME}" Try { Start-Process -FilePath "${DOWNLOADS}\${FILENAME}" -Wait } Catch { Write-Output $_.Exception.Message } Write-Output "Deleting installer: ${DOWNLOADS}\${FILENAME}" Try { Remove-Item "${DOWNLOADS}\${FILENAME}" } Catch { Write-Output $_.Exception.Message } } Else { Write-Output "${DOWNLOADS}\${FILENAME} does not exist" } } Else { Write-Output "This endpoint is already up to date." } } Else { Write-Output "This endpoint is not running Windows 10." }