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.
Find the Windows installation date/time:
How to Find Windows Installation Date and Time
1. Using SystemInfo
Open a Command Prompt window and type:
systeminfo
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.
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( _ "WbemScripting.SWbemDateTime") 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" Next Function getdate(wmitime) dtmInstallDate.Value = wmitime getdate = dtmInstallDate.GetVarDate End Function
4. Using WMIC (WMI command-line)
wmic os get installdate
The date/time stamp is shown in the following WMI time format:
yyyymmddHHMMSS
..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)
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
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.
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))
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:
HKEY_LOCAL_MACHINE\SYSTEM\Setup
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!
Need to find product key number, Not on DVD/DVR box
@Cora: You can use Keyfinder or Produkey to get the product key of your Windows/Office installation
Thank you, so much!