Black background with yellow cursive text that says 'Windows Install Date' with a gray calendar of August 2020 highlighting the 13th day of the month.

How To Find The Windows Install Date

  • Adam Douglas

Curiosity always seems to get the better of me of wanting to achieve a better understanding of a particular subject or in this case learning how to get the installation date of Microsoft Windows. I figured this out on Linux, so why not continue this on with another operating system. There are of course many was to go about getting the installation or creation date and time of a Windows system. As mentioned in my previous post, which method you choose is up to you and remember depending on the solution you may get misleading data.

I played around with several solutions I found online using Windows 10 22H2. While doing my testing I discovered my installation will be 3 years old in August 2023. Shocking considering most of us know that Windows requires a fresh install just to keep it happy :-).

Windows Settings

  1. Click on the Windows “Start” button.
  2. Click on “Settings” > “System” > “About”.
  3. In the “Settings” window under “Windows specifications”, look for the “Installed on” value.

    Windows 10 Settings dialog with install date highlighted.

     Edition         Windows 10 Pro
     Version         22H2
     Installed on    8/13/2020
     OS build        19045.2965
     Experience      Windows Feature Experience Pack 1000.19041.1000.0
    

    For clarity the date is formatted as month, day, year.

Windows Folder

This solution is not always ideal due to the fact that a folder or directory date can be changed overtime.

  1. Click on the Windows “Start” button.
  2. Browse to “Windows System”.
  3. Click on “File Explorer”.
  4. Within the left-hand panel click on the “Local Disk (C:)”.
  5. Right mouse click on the “Windows” folder and click on “Properties”.

    Look for the “created” value within the folder properties dialog.

    Windows 10 File Explorer with the Windows folder properties dialog open, highlighting the created date.

File System

As far as I know there is no built-in way to access the creation date of the file system or partition. However, the approximate date can be obtained by looking at the creation date of “System Volume Information” found on the C drive.

  1. Click on the Windows “Start” button.
  2. Browse to “Windows System”.
  3. Click on “File Explorer”.
  4. On the left-hand side click on “Local Disk (C:)”.
  5. Click on the “View” menu then “Options”.
  6. Uncheck “Hide protected operating system files (Recommended)”.

    This step is required in order to see the “System Volume Information” folder. It is advised to enable this feature again once the task has been completed.

    Windows 10 File Explorer C folder options dialog, highlighting hide protected operating system files (Recommended) being unchecked.

  7. Click on the “OK” button.
  8. Right mouse click on the “System Volume Information” folder and click on “Properties”.

    Look for the “created” value within the folder properties dialog.

    Windows 10 File Explorer with the System Volume Information folder properties dialog open, highlighting the created date.

Windows PowerShell

  1. Click on the Windows “Start” button.
  2. Browse to “Windows PowerShell”.
  3. Click on “Windows PowerShell”.
  4. Use one of the following command examples.

     PS C:\> ([WMI]'').ConvertToDateTime((Get-WmiObject Win32_OperatingSystem).InstallDate)
    
     Thursday, August 13, 2020 9:31:58 PM
    
     $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))
    
     Thursday, August 13, 2020 9:31:58 PM
    

    As I understand it there is supposed to be multiple registry entries of “Source OS (Updated on xxxxxx)” per update. However, as you can see I only have one entry even though I have all the recommended updates installed to date.

     $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
    
     UpdateTime           ReleaseID Branch       Build ProductName
     ----------           --------- ------       ----- -----------
     8/13/2020 7:54:54 PM 1909      19h1_release 18363 Windows 10 Pro
    

Windows Registry Editor

  1. Open the “Run” dialog by pressing the keys, Windows+R.
  2. Type in the input field without double quotes “regedit” and press Enter.
  3. Browse to the following location.

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

  4. On the right-hand side double click on “InstallDate”.
  5. Within “Edit DWORD” dialog click on “Decimal” under “Base”.
  6. The “Value data” field value is the installation date.

    Windows 10 Registry Editor with the edit dialog open on InstallDate property.

    The “Value data” field value is formatted in seconds since January 1st, 1970, better know as Unix time.

The seconds can be easily converted using Windows PowerShell.

PS C:\> (Get-Date -Date "1970-01-01 00:00:00Z").addSeconds(1597375918)
Thursday, August 13, 2020 9:31:58 PM

Windows Systeminfo

  1. Click on the Windows “Start” button.
  2. Browse to “Windows System”.
  3. Click on “Command Prompt”.
  4. Input the following command after the prompt and press Enter.

     C:\Users\Adam>systeminfo | find /i "install date"
    
     Original Install Date:     8/13/2020, 9:31:58 PM
    

    For clarity the date is formatted as month, day, year.

Windows Management Infrastructure Command-line

  1. Click on the Windows “Start” button.
  2. Browse to “Windows System”.
  3. Click on the “Command Prompt”.
  4. Input the following command after the prompt and press Enter.

     C:\Users\Adam>wmic os get installdate
    
     InstallDate
     20200813213158.000000-360
    

The output timestamp is formatted as “yyyyMMddHHmmss” and is described as shown below. The value after the period represents the number of milliseconds.

  • yyyy = Numeric representation of a year, 4 digits
  • MM = Numeric representation of a month, 2 digits with leading zero
  • dd = Day of the month, 2 digits with leading zero
  • HH = 24-hour format of an hour, 2 digits with leading zero
  • mm = Minutes, 2 digits with leading zero
  • ss = Seconds, 2 digits with leading zero

Info

WMIC utility is deprecated as of Windows 10 and Windows Server version 21H1. This utility is superseded by Windows PowerShell for WMI.