这可能听起来有点像一个疯狂的问题,但我怎么能找到(希望通过API /注册表项)Windows的安装时间和日期?
到目前为止我能想到的最好的方法是查看C:\ Windows中的各种文件并尝试猜测......但这并不是一个很好的解决方案.
另一个对" 代码挑战 " 敏感的问题:这里有一些源代码可执行文件来回答这个问题,但它们并不完整.
你会找到一个vb脚本,任何人都可以在他/她的计算机上执行,具有预期的结果吗?
systeminfo|find /i "original"
会给你实际的日期...而不是秒数;)
正如Sammy 评论,find /i "install"
给出的不仅仅是你需要的.
这仅适用于语言环境为英语的情况:它需要与语言匹配.
对于瑞典语来说,这对德语来说就是" ursprungligt
"和" ursprüngliches
".
在Windows PowerShell脚本中,您只需键入:
PS > $os = get-wmiobject win32_operatingsystem PS > $os.ConvertToDateTime($os.InstallDate) -f "MM/dd/yyyy"
使用WMI(Windows Management Instrumentation)
如果您不使用WMI,则必须先读取转换注册表值:
PS > $path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' PS > $id = get-itemproperty -path $path -name InstallDate PS > $d = get-date -year 1970 -month 1 -day 1 -hour 0 -minute 0 -second 0 ## add to hours (GMT offset) ## to get the timezone offset programatically: ## get-date -f zz PS > ($d.AddSeconds($id.InstallDate)).ToLocalTime().AddHours((get-date -f zz)) -f "MM/dd/yyyy"
本文的其余部分为您提供了访问相同信息的其他方法.选择你的毒药;)
在VB.Net中会给出类似的东西:
Dim dtmInstallDate As DateTime Dim oSearcher As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem") For Each oMgmtObj As ManagementObject In oSearcher.Get dtmInstallDate = ManagementDateTimeConverter.ToDateTime(CStr(oMgmtO bj("InstallDate"))) Next
在Autoit(Windows脚本语言)中,它将是:
;Windows Install Date ; $readreg = RegRead("HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\", "InstallDate") $sNewDate = _DateAdd( 's',$readreg, "1970/01/01 00:00:00") MsgBox( 4096, "", "Date: " & $sNewDate ) Exit
在Delphy 7中,这将是:
Function GetInstallDate: String; Var di: longint; buf: Array [ 0..3 ] Of byte; Begin Result := 'Unknown'; With TRegistry.Create Do Begin RootKey := HKEY_LOCAL_MACHINE; LazyWrite := True; OpenKey ( '\SOFTWARE\Microsoft\Windows NT\CurrentVersion', False ); di := readbinarydata ( 'InstallDate', buf, sizeof ( buf ) ); // Result := DateTimeToStr ( FileDateToDateTime ( buf [ 0 ] + buf [ 1 ] * 256 + buf [ 2 ] * 65535 + buf [ 3 ] * 16777216 ) ); showMessage(inttostr(di)); Free; End; End;
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate
它是自1970年1月1日以来的秒数.
要将该数字转换为可读日期/时间,只需将十进制值粘贴到此Unix时间转换在线工具的 "UNIX TimeStamp:"字段中.
我们在这里有足够的答案,但我想把我的5美分.
我安装了Windows 10,10/30/2015
并04/14/2017
在我以前的安装之上安装了Creators Update .我之前的答案中描述的所有方法都给出了Creator Update安装的日期.
我设法找到几个文件的创建日期,它与我的Windows 10的真实(干净)安装日期相匹配:
在 C:\Windows
在 C:\
打开命令提示符,键入" systeminfo "并按Enter键.您的系统可能需要几分钟才能获得信息.在结果页面中,您将找到一个条目"系统安装日期".这是Windows安装的日期.此过程适用于XP,Win7以及win8.
如何找出Windows 7的安装日期/时间:
看到这个......
开始>输入CMD
输入systeminfo
而已; 然后你可以看到有关你的机器的所有信息; 非常简单的方法
曾经想知道你PC的操作系统安装日期吗?这是一种快速简便的方法,可以找出安装(或上次升级)PC操作系统的日期和时间.
打开命令提示符(start-> run - > type cmd-> hit enter)并运行以下命令
systeminfo | 找/我"安装日期"
几秒钟后,您将看到安装日期
在Powershell中运行命令:
systeminfo | Select-String "Install Date:"