确定计算机上安装 Windows 的时间

Oct*_*ves 42 windows timestamp

是否可以检查 PC 上安装 Windows 的日期,如果可以,如何检查?

Zuu*_*uul 60

使用命令行,您有一个名为WMIC的工具,可用于确定安装日期,如下所示:

CMD /K WMIC OS GET InstallDate
Run Code Online (Sandbox Code Playgroud)

您可以在命令行中或直接从窗口“运行”中运行它。

Ps: AFAIK,您可以从 Windows XP 开始使用它。

WMIC输出

您可以通过添加相关标记轻松阅读上述输出: 2011-02-14 13:36:58


Dio*_*ogo 20

根据参考资料,您有多种方法可以做到这一点,只需选择您更喜欢的一种:

如何使用和不使用PowerShell确定 Windows 安装日期

系统信息

systeminfo 工具显示了许多有关计算机和操作系统的有趣信息,其中包括安装日期。这是一些示例输出:

Host Name:                 WIN7
OS Name:                   Microsoft Windows 7 Enterprise
OS Version:                6.1.7600 N/A Build 7600
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Workstation
OS Build Type:             Multiprocessor Free
Original Install Date:     9/17/2009, 3:58:54 PM     <==============
System Boot Time:          9/24/2009, 10:34:34 AM
...
Run Code Online (Sandbox Code Playgroud)

WMI

安装日期存储在InstallDateWMI 类的属性中
Win32_OperatingSystem。如果没有转换,我们会得到一个像 "20090917155854.000000+120".

PS C:\> ([WMI]'').ConvertToDateTime((Get-WmiObject Win32_OperatingSystem).InstallDate) 
Thursday, September 17, 2009 3:58:54 PM
Run Code Online (Sandbox Code Playgroud)

注册表

安装日期HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate作为 UNIX 时间(包含自 1/1/1970 以来的秒数的 32 位值)存储在注册表值中。

PS C:\> [timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddSeconds($(get-itemproperty 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion').InstallDate))
Thursday, September 17, 2009 3:58:54 PM
Run Code Online (Sandbox Code Playgroud)

什么不起作用

我首先想到了查询Windows文件夹的创建时间。这不起作用,因为从 Vista 开始,设置过程是基于图像的。通过查询 Windows 文件夹的创建日期,我们唯一可以了解到的是安装映像是由 Microsoft 创建的。

PS C:\> (Get-Item "$env:windir").creationtime 
Tuesday, July 14, 2009 4:37:05 AM
Run Code Online (Sandbox Code Playgroud)

我的第二个想法是使用安装后立即创建的文件或文件夹的创建日期。以下是我寻找可能的候选人的方式:

PS C:\> gci c: -force | where {$_.creationtime -lt "09.19.2009" -and 
$_.creationtime -gt "09.16.2009"} | 
select fullname,creationtime | sort creationtime

FullName                                CreationTime
--------                                ------------
C:\Recovery                             9/17/2009 3:58:50 PM
C:\temp                                 9/17/2009 10:02:46 PM
C:\System Volume Information            9/18/2009 12:43:30 AM
C:\hiberfil.sys                         9/18/2009 12:43:30 AM
C:\pagefile.sys                         9/18/2009 12:43:32 AM
Run Code Online (Sandbox Code Playgroud)

在这些结果中,只有“Recovery”文件夹与 Windows 记录的“官方”安装日期几乎相同。但是使用这种方法对于生产使用来说似乎太脆弱了。另一个失败的尝试是使用最早的事件日志条目的日期,如以下屏幕截图所示:

在此处输入图片说明


Ran*_*ray 11

您可以在命令行中运行以下命令来查找安装日期:

systeminfo | find "Original Install Date"
Run Code Online (Sandbox Code Playgroud)

虽然获得结果需要几秒钟,但输出将非常易读:

Original Install Date:     7/25/2012, 5:16:47 PM
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

您可以通过运行systeminfo命令(如系统启动时间)获得更多信息。