Detect Windows 11 Upgrade Method: WU vs Manual
Created: 2026-07-02 14:23:34 | Last updated: 2026-07-02 14:23:34 | Status: Public
No single command. Forensic chain instead.
Method 1 — Panther setupact.log (most reliable)
Log lives at:
C:\Windows\Panther\setupact.log
Search it:
Select-String -Path "C:\Windows\Panther\setupact.log" -Pattern "cmd line|commandline|/auto upgrade|MediaPath" | Select-Object -First 20
- WU-driven: entries reference
MoSetup,wuauclt, no/MediaPath - Manual ISO:
/MediaPath, drive letter,/auto upgrade, or UNC path in the command line
Method 2 — BlueBox.log (WU-specific, definitive)
Only exists when upgrade came through WU or WSUS.
Test-Path "C:\Windows\Logs\MoSetup\BlueBox.log"
- Present → WU/WSUS driven
- Absent → manual ISO/media
Method 3 — Registry Upgrade History
Shows build chain with timestamps. Clean installs have no SourceOS entries.
$(gci "HKLM:\System\Setup" | Where-Object {$_.Name -match "\\Source\s"}) | ForEach-Object {
[PSCustomObject]@{
ProductName = $_.GetValue("ProductName")
Build = $_.GetValue("CurrentBuild")
InstallTime = [datetime]::FromFileTime($_.GetValue("InstallTime"))
}
} | Sort-Object InstallTime
Decision Tree
| Condition | Result |
|---|---|
BlueBox.log exists |
WU / WSUS upgrade |
BlueBox.log absent + /MediaPath in setupact.log |
Manual ISO upgrade |
| No SourceOS registry keys | Clean install — no in-place upgrade |