Created
December 9, 2025 17:48
-
-
Save BxOxSxS/8f3a42643f3e41bb4a54b63a123a31df to your computer and use it in GitHub Desktop.
Simple Script to force Windows 10 Update to recheck Win 11 requirments for offering upgrade. By @lava1879
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @echo off | |
| setlocal EnableDelayedExpansion | |
| fltmc >nul 2>&1 | |
| if errorlevel 1 ( | |
| echo This script needs admin rights. | |
| powershell -Command "Start-Process cmd -ArgumentList '/c \"%~f0\"' -Verb RunAs" | |
| exit /b | |
| ) | |
| set "0=%~f0" &powershell -nop -c $f=[IO.File]::ReadAllText($env:0) -split ':shellpower\:.*';iex($f[1]) | |
| exit /b | |
| :shellpower: | |
| Write-Host "=============================================" -ForegroundColor Cyan | |
| Write-Host " WhyNotWin11 - Upgrade to Windows 11" -ForegroundColor Cyan | |
| Write-Host "=============================================" -ForegroundColor Cyan | |
| function Start-Appraiser { | |
| $TaskName = "Microsoft Compatibility Appraiser" | |
| $TaskPath = "\Microsoft\Windows\Application Experience\" | |
| Write-Host "`nRunning Compatibility Appraiser..." | |
| $null = Enable-ScheduledTask $TaskName $TaskPath | |
| Start-ScheduledTask $TaskName $TaskPath | |
| while ((Get-ScheduledTask $TaskName $TaskPath).State.value__ -eq 4) {Start-Sleep -Seconds 1} | |
| Write-Host "Task finished." -ForegroundColor Green | |
| Write-Host "`nOpening Windows Update..." | |
| Start-Process "ms-settings:windowsupdate" | |
| Write-Host "Attempting automatic 'Check for updates'..." | |
| try { | |
| cmd /c UsoClient.exe StartBypassScan | |
| } catch {} | |
| } | |
| Start-Appraiser | |
| Write-Host "`nPress any key to exit..." -ForegroundColor Yellow | |
| $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | |
| :shellpower: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
As Windows doesn’t always re-evaluate Windows 11 compatibility immediately after you change BIOS/firmware settings. For example, if your PC was originally flagged as incompatible because fTPM was disabled or because you used Legacy boot + an MBR disk, and then you switch to UEFI + GPT (using MBR2GPT or other tools) and then enable TPM/Secure Boot, Windows Update may continue to show the “Your PC doesn't currently meet the minimum system requirements to run Windows 11” message until the next compatibility scan.
The scan is performed by the scheduled task Microsoft Compatibility Appraiser (
compattelrunner.exe), which updates registry entries that Windows Update uses to determine upgrade eligibility. This script effectively forces that task to run immediately and then triggers Windows Update to re-check.After doing such changes, running that script (or manually running the Compatibility Appraiser, then checking for updates) will usually make Windows detect the new configuration correctly.
Special thanks to @abbodi1406 & @BxOxSxS for helping with this.