How to Find the Windows Server Install Date using PowerShell

Why You Might Need the Install Date

As a system administrator, you often inherit servers built by previous IT teams. Knowing the exact date and time a Windows Server was originally installed is crucial for hardware lifecycle management, auditing compliance, and tracking software depreciation. While you can sometimes guess the age of a server by looking at the creation date of the C:\Windows folder, this method is unreliable because major feature updates or in-place upgrades can overwrite those timestamps.

The only 100% accurate way to determine when the operating system was first installed on the hardware is to query the hidden system information using PowerShell.

Method 1: The WMI Object Method

The most robust way to find the installation date is by querying the Windows Management Instrumentation (WMI) class for the operating system. Open PowerShell and run the following command:

Get-CimInstance Win32_OperatingSystem | Select-Object InstallDate

This command returns the exact InstallDate property directly from the core of the OS. The output will look perfectly formatted, displaying the date and time (e.g., Monday, October 14, 2024 9:30:15 AM).

Method 2: The SystemInfo Method

If you prefer using traditional command-line utilities within PowerShell, you can use the built-in systeminfo tool. Because systeminfo generates a massive wall of text containing network cards, hotfixes, and processor details, you should pipe it into the find or findstr command to filter for the exact line you need.

systeminfo | findstr /C:"Original Install Date"

This will instantly parse the system data and output a single line: Original Install Date: 10/14/2024, 9:30:15 AM.

Note: If your Windows Server is localized in a language other than English, you must change the string inside the quotes to match your language (e.g., “Fecha de instalación original” in Spanish).

Method 3: Querying the Registry

If WMI is corrupted and systeminfo is hanging, you can pull the raw installation timestamp directly from the Windows Registry. Windows stores the install date as a standard UNIX timestamp (the number of seconds since January 1, 1970) located at HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion.

You can use this PowerShell one-liner to grab the UNIX timestamp and convert it into a human-readable format:

[timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds((Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').InstallDate))

This method is entirely bulletproof and will work on everything from Windows Server 2008 to Windows Server 2025.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.