How to Find Windows Installation Date and Time

You may sometimes think of reinstalling Windows, especially when its performance goes down after a few years due to several different factors. And, you may like to know the date and time of your current Windows installation.

This post shows you the different methods using which you can determine the original installation date and time of your Windows installation. The information applies to all versions of Windows, including Windows 10.

Note that in Windows 10, the following methods show the installation date of the most recent feature update you installed, and not the install date and time of your 1st Windows 10 build.

How to Find Windows Installation Date and Time

1. Using SystemInfo

Open a Command Prompt window and type:


systeminfo - windows install date and time

To output only the Original Install Date field, type:

systeminfo | findstr Date

2. Settings page in Windows 10

The Settings page shows the Windows installation date in Windows 10.

Click Start → Settings → System → About.

Scroll down to Windows specifications to find the Windows install date.

settings system about page - windows install date and time
Screenshot of the settings page in Windows 10 v20H2

3. Using WMI/WSH Script

Copy the following VBScript code to Notepad, save with .vbs extension in ANSI encoding, and run the file.

Set dtmInstallDate = CreateObject( _
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& "." & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOS In colOperatingSystems
   MsgBox "Install Date: " & getdate (objOS.InstallDate), _
   vbOKOnly, "OS Install Date"

Function getdate(wmitime)
   dtmInstallDate.Value = wmitime
   getdate = dtmInstallDate.GetVarDate
End Function

vbscript windows install date and time

4. Using WMIC (WMI command-line)

wmic os get installdate

systeminfo - windows install date and time

The date/time stamp is shown in the following WMI time format:


..which translates to:

29/05/2020, 11:38:49

5. Using PowerShell

This again uses WMI, but the only difference is it’s run from PowerShell and uses PowerShell’s built-in ConvertToDateTime function.

([WMI]'').ConvertToDateTime((Get-WmiObject Win32_OperatingSystem).InstallDate)

powershell - windows install date and time

5. Using the Windows Registry

The Windows installation date and time is stored in the following registry key in the values named InstallDate and InstallTime:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate

registry - windows install date and time

The InstallDate value data contains the Unix time which represents the number of seconds that have elapsed since 1970-01-01T00:00:00Z (January 1, 1970, at 12:00 AM UTC).  To convert the data into a readable format, you can the Epoch converter website or run a couple of PowerShell commands.

via Epoch Converter site

Visit the Epoch converter website and type the timestamp you found in the registry, and convert it to human date format.

epoch unix time - windows install date and time
Convert Unix time to readable date/time

Using PowerShell

In the PowerShell window, run these two commands:

$date = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\' | select -ExpandProperty InstallDate

(Get-Date "1970-01-01 00:00:00.000Z") + ([TimeSpan]::FromSeconds($date))

powershell convert unix time - windows install date and time

The above shows the date and time of the current Windows 10 feature update (v20H2) installation.

Windows 10/11 Build/Version Upgrade History

Did you know that Windows 10/11 keeps track of your every build/feature upgrade in the registry? Redditor u/sizzlr has found an interesting registry location and wrote a PowerShell script to unscramble the Windows 10/11 build installation dates from the registry.

Every time you install a feature update, Windows 10/11 creates a new subkey named “Source OS (Updated on )” and a bunch of values in the right pane. The registry key is located at:


Additionally, there are two values, namely InstallTime and InstallDate, which store the install date and time. The following PowerShell script gathers all the details for you and presents in a table:

$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"))}} };

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

The installation date for each build/version is maintained in the registry.

Do you know any other methods to find the Windows install date? Let’s know in the Comments section below.

One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded in 2005.

3 thoughts on “How to Find Windows Installation Date and Time”

Leave a Comment