IT

Windows의 설치 시간과 날짜는 어떻게 찾습니까?

lottoking 2020. 7. 11. 09:18
반응형

Windows의 설치 시간과 날짜는 어떻게 찾습니까?


이 약간의 미친 질문처럼 들릴 수 있습니다 Windows의 설치 시간과 날짜를 (API / 시스템 키를 통해) 어떻게 알 수 있습니까?

지금까지 내가 얻을 수있는 최선의 방법은 C : \ Windows의 다양한 파일을보고 추측하는 것입니다 ... 그러나 이것이 좋은 해결은 아닙니다.


HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate

1970 년 1 월 1 일 이후의 시간 (초)으로 제공됩니다.

이 숫자를 읽을 수있는 날짜 / 시간으로 변환 할 수있는 Unix 시간 변환 온라인 도구 의 "UNIX TimeStamp :"필드에 10 진수 값을 등록하십시오 .


' 코드 도전 '에 대한 다른 질문 은 다음과 달라 또 다른 질문 . 여기에 문제를 해결하기위한 일부 소스 코드 실행 파일이 준비 완전 강화.
누구나 컴퓨터에서 컴퓨터에서 가능한 수있는 vb는 예상되는 결과로 가능한 결과로 있습니까?


systeminfo|find /i "original" 

당신에게 실제 날짜 ...없는 초 줄 것입니다;)
으로 새미의 의견을 , 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 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;

여기에 신용 할 수 있습니다.

이전 설치 Windows 10이 설치되어 있고 10/30/2015Creators Update가 설치되어 04/14/2017있습니다. 내 안내에 설명 된 모든 방법은 크리에이터 업데이트 설치 날짜를 알려드립니다.

원래 설치 날짜

Windows 10의 실제 설치 날짜와 일치하는 파일 생성 날짜가 거의 없습니다.

  • C:\Windows

몇 가지 C : \ Windows 파일

  • C:\

C : \ 파일이 거의 없음


명령 프롬프트를 " systeminfo "를 입력 한 다음 Enter 키를 입력합니다. 시스템에서 정보를 얻는 데 몇 분 정도 걸릴 수 있습니다. 결과 페이지에서 "시스템 설치 날짜"라는 항목을 사용할 수 있습니다. Windows 설치 날짜입니다. 이 프로세스는 XP, Win7 및 win8 작동합니다.


Windows 7 설치 날짜 / 시간을 찾는 방법 :

이것 만 봐 ...

  • 시작> CMD 입력
  • systeminfo 입력

그게 다야. 그러면 컴퓨터에 대한 모든 정보를 볼 수 있습니다. 아주 간단한 방법


PC의 운영 설치 날짜를 알고 싶습니까? 다음은 PC 운영이보다 빠르고 쉬운 방법입니다.

명령 프롬프트를 실행합니다 (시작-> 실행-> cmd 입력-> 누르기 입력) 다음 명령을 실행합니다.

systeminfo | / i "설치 날짜"찾기

몇 초 안에 설치 날짜가 표시됩니다.


Powershell에서 다음 명령을 실행하십시오.

systeminfo | Select-String "Install Date:"

HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ InstallDate 및 systeminfo.exe가 잘못된 날짜를 생성합니다 .

UNIX 타임 스탬프 정의 는 존재와 무관합니다. UNIX 타임 스탬프는 1970 년 1 월 1 일 목요일 00:00:00 UTC (협정 세계시) 이후 경과 된 초 수로 정의 된 윤초는 계산하지 않습니다.

즉, 워싱턴 주 시애틀에 컴퓨터를 설치하고 뉴욕으로 이사 전화기 HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ InstallDate 에이를 반영하지 않습니다. 날짜잘못 되었습니다. 컴퓨터가 처음 언어를 저장하지 않습니다.

결과가 프로그램을 실행하는 동안에 변경하면 날짜가 잘못됩니다. 선택 변경을 고려한 선택 실행 파일을 다시 실행해야합니다.

그러나 WMI Win32_Registry 클래스는 해당 정보를 얻을 수 있습니다 .

InstallDate는 Microsoft TechNet 문서 "WMI를 사용하여 날짜 및 시간 작업" 에 UTC 형식 (yyyymmddHHMMSS.xxxxxx ± UUU)입니다. 여기서 특히 xxxxxx는 밀리 초이고 ± UUU는 그리니치 표준시와 다른 분입니다.

 private static string RegistryInstallDate()
    {

        DateTime InstallDate = new DateTime(1970, 1, 1, 0, 0, 0);  //NOT a unix timestamp 99% of online solutions incorrect identify this as!!!! 
        ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Registry");

        foreach (ManagementObject wmi_Windows in searcher.Get())
        {
            try
            {
                ///CultureInfo ci = CultureInfo.InvariantCulture;
                string installdate = wmi_Windows["InstallDate"].ToString(); 

                //InstallDate is in the UTC format (yyyymmddHHMMSS.xxxxxx±UUU) where critically
                // 
                // xxxxxx is milliseconds and       
                // ±UUU   is number of minutes different from Greenwich Mean Time. 

                if (installdate.Length==25)
                {
                    string yyyymmddHHMMSS = installdate.Split('.')[0];
                    string xxxxxxsUUU = installdate.Split('.')[1];      //±=s for sign

                    int year  = int.Parse(yyyymmddHHMMSS.Substring(0, 4));
                    int month = int.Parse(yyyymmddHHMMSS.Substring(4, 2));
                    int date  = int.Parse(yyyymmddHHMMSS.Substring(4 + 2, 2));
                    int hour  = int.Parse(yyyymmddHHMMSS.Substring(4 + 2 + 2, 2));
                    int mins  = int.Parse(yyyymmddHHMMSS.Substring(4 + 2 + 2 + 2,  2));
                    int secs  = int.Parse(yyyymmddHHMMSS.Substring(4 + 2 + 2 + 2 + 2, 2));
                    int msecs = int.Parse(xxxxxxsUUU.Substring(0, 6));

                    double UTCoffsetinMins = double.Parse(xxxxxxsUUU.Substring(6, 4));
                    TimeSpan UTCoffset = TimeSpan.FromMinutes(UTCoffsetinMins);

                    InstallDate = new DateTime(year, month, date, hour, mins, secs, msecs) + UTCoffset; 

                }
                break;
            }
            catch (Exception)
            {
                InstallDate = DateTime.Now; 
            }
        }
        return String.Format("{0:ddd d-MMM-yyyy h:mm:ss tt}", InstallDate);      
    }

c : \ pagefile.sys의 생성 날짜는 대부분의 경우 매우 많습니다. 다음 명령을 사용하여 쉽게 얻을 수 있습니다 (Windows가 C :에 설치되어 가정).

dir /as /t:c c:\pagefile.sys

'/ as'는 '시스템 파일'을 지정합니다. 마네킹 된 수 없습니다. '/ t : c'는 '생성'을 표시하도록 시간 필드를 설정합니다.


Windows 10 OS에는 SYSTEM 하이브 파일에있는 또 다른 하위 키가 있습니다.

Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\

여기에서 설치 날짜 정보는 원래 컴퓨터 OS 설치 날짜 / 시간입니다. 또한 업데이트가 시작된시기를 알려줍니다.

 Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\Source OS (Updated on xxxxxx)."

물론 업데이트가 끝날 때가 아닐 수도 있고, 메시지가 표시 될 때있는 대신 사용자가 끄도록 선택할 수 있습니다.

업데이트는 실제로 다른 날에 완료 될 수 있습니다.

Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\Source OS (Updated on xxxxxx)"

업데이트를 날짜 / 시간을 반영합니다.


WMIC를 사용하여 Windows 설치 날짜 결정

wmic os get installdate


speccy를 사용하십시오. 운영 체제 섹션에 설치 날짜가 표시됩니다. http://www.piriform.com/speccy


또한 "windows"및 "프로그램 파일"과 같은 시스템 드라이브의 모든 폴더를 확인할 수 있습니다. 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭 한 다음 일반 탭에서 폴더가 생성 된 날짜를 확인합니다.


RunCommand에서 작성 하고 Enter 키를받은 시스템과 관련된 모든 정보가 표시됩니다."MSINFO32"


를 누르 WindowsKey+ R를 입력cmd

명령 창에서 다음을 입력합니다.

systeminfo | find /i "Original"

(이전 버전의 Windows에서는 모두 대문자로 "ORIGINAL"을 입력합니다.)


Windows 폴더의 생성 날짜를 간단히 확인할 수 있습니다. (오른쪽 클릭하고 속성 확인) :)


PowerShell을 사용 하여이 작업을 수행 할 수 있습니다.

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\' -Name InstallDate |
    Select-Object -Property @{n='InstallDate';e={[DateTime]::new(1970,1,1,0,0,0,0,'UTC').AddSeconds($_.InstallDate).ToLocalTime()}}

유일한 정답은이 powershell 명령으로 제공됩니다.

Get-ChildItem -Path HKLM:\System\Setup\Source* | 
 ForEach-Object {Get-ItemProperty -Path Registry::$_} | 
     Select-Object ProductName, ReleaseID, CurrentBuild, @{n="Install Date"; e={([DateTime]'1/1/1970').AddSeconds($_.InstallDate)}} | 
         Sort-Object "Install Date"

참고 URL : https://stackoverflow.com/questions/170617/how-do-i-find-the-install-time-and-date-of-windows

반응형