Have you ever wanted to refer back to an old Windows upgrade you installed? It's easier said than done.

You can see the most recent handful of updates in the Settings app (go to Update and Security > Windows Update > View Installed Update History), but it doesn't show system-wide upgrades (such as moving from Windows 7 to Windows 10 or installing the Fall Creators Update).

So what options do you have?

Well, there are actually two ways you can see all the upgrades that you have installed on your system. They're just very well hidden and not so well known. In this quick article, we're going to show you both methods. Keep reading to find out more.

Method 1: Use the Windows Registry

To see you update history using the Windows Registry, follow the step-by-step guide below.

  1. Press Windows + R.
  2. Type regedit.
  3. Press Enter.
  4. Navigate to Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup.
  5. Check the SourceOS keys.

As you can see from the image above, my last upgrade was on 21st October 2017, I installed build number 15063, and installed it in the C:\Windows path.

Warning: The Registry Editor is a powerful tool. Making incorrect changes could have serious consequences for your system. Proceed with caution and always make sure you back up your Windows registry before making any changes.

Method 2: Use PowerShell

You can also use PowerShell to find similar information. To begin, launch PowerShell by pressing the Windows key and running a search.

When you're looking at the PowerShell screen, enter the following code and press Enter:

        $AllBuilds = $(gci "HKLM:\System\Setup" | ? {$_.Name -match "\\Source\s"}) | % { $_ | Select @{n="UpdateTime";e={if ($_.Name -match "Updated\son\s(\d{1,2}\/\d{1,2}\/\d{4}\s\d{2}:\d{2}:\d{2})\)$") {[dateTime]::Parse($Matches[1],([Globalization.CultureInfo]::CreateSpecificCulture('en-US')))}}}, @{n="ReleaseID";e={$_.GetValue("ReleaseID")}},@{n="Branch";e={$_.GetValue("BuildBranch")}},@{n="Build";e={$_.GetValue("CurrentBuild")}},@{n="ProductName";e={$_.GetValue("ProductName")}},@{n="InstallTime";e={[datetime]::FromFileTime($_.GetValue("InstallTime"))}} };
    

Now enter the following code and once again press Enter:

        $AllBuilds | Sort UpdateTime | ft UpdateTime, ReleaseID, Branch, Build, ProductName
    

The results will show you all the previous Windows versions that were installed on your machine in a table. You'll see both Windows 10 upgrades and upgrades from Windows 7 or 8 to the current release.

If you're still not sure whether upgrading to Windows 10 is right for you, check out some the operating system's most overlooked features. You'll definitely be impressed.