Windows가 마지막으로 다시 시작된 시간을 어떻게 알 수 있습니까?


105

Windows 7을 실행하는 컴퓨터가 마지막으로 다시 시작된 시점을 어떻게 알 수 있습니까?

이벤트 로그를 검색하지 않고 명령 과 비슷 wmic하거나 어쩌면 cmd명령을 포함하는 솔루션을 선호 합니다.

답변:


164

systeminfo명령은 당신이 필요로하는 거의 옳습니다. 영어 Windows 7에서도 다음을 수행 할 수 있습니다.

systeminfo | find /i "Boot Time"

또는 WMIC 의 도움으로 :

wmic os get lastbootuptime

Windows 7에서 Windows 7과 Windows XP의 주요 차이점은 Microsoft가 마지막 부팅 시간 만 표시 할 수 있다는 것입니다.


또한 작업 관리자에서 :

여기에 이미지 설명을 입력하십시오


또한 마지막 재설정 누적 목록이 있습니까?
Royi Namir

2
@RoyiNamir : 일부 인터넷 검색 재부팅 목록 (매우 비슷해 보입니다) :Get-EventLog -LogName System | where { ($_.InstanceId -bAnd 0xFFFF) -eq 6006 }
m0nhawk

powershell입니다 .....?
Royi Namir

3
주의하십시오 systeminfo지역화됩니다. 그래서 "Boot Time"윈도우의 영어 버전에만 해당됩니다.
Markus Mitterauer

1
systeminfo | find /i "Systemstartzeit"독일어
schoetbi

24

이를 수행하는 또 다른 방법은 Windows XP와 Windows 7에서 모두 작동하는 다음 명령 줄을 사용하는 것입니다.

net statistics workstation

systeminfo날짜 형식을 지정하는 동안 다른 것보다 빠르다는 이점이 있습니다 ( wmic그렇지 않습니다). 컴퓨터를 디버깅하기 위해 실제로이 명령을 사용하는 경우 유용 할 수있는 몇 가지 정보가 있습니다 (구체적으로 요청하기 때문에 cmd프로그래밍 방식으로 수행하지 않는다고 가정 함).

net statistics명령 에 대한 자세한 내용은 여기 ( http://technet.microsoft.com/en-us/library/bb490714.aspx)를 참조 하십시오.

다음은 결과의 예입니다 (프랑스어 Windows 7 Pro SP1 x64를 사용하는 경우 사용자 언어는 명령 줄에별로 중요하지 않음).

예

(컴퓨터 이름이 의도적으로 흐리게 표시됨)


시스템 가동 시간을 결정할 때의 정확성 에 대한 http://en.wikipedia.org/wiki/Uptime 에 대한 자세한 내용


중요 사항 :이 방법은 컴퓨터의 가동 시간이 아니라 마지막으로 부팅 된 시간을 결정합니다. 절전 / 최대 절전 모드를 사용하는 경우 2 개의 숫자가 달라집니다.


이것이 왜 systeminfo 또는 wmic를 사용하는 것과 동일하게 읽히지 않는지에 대한 아이디어는 ... 무시할 만하지 만 내 시스템에서는 2 분 이상 다릅니다.
Anthony Shaw

내 컴퓨터에서도 aobut 40 초 동안 다릅니다. 왜 그것이 정확히 같지 않은지 전혀 모르겠습니다. 서비스가 조금 후자라고 생각합니다. en.wikipedia.org/wiki/Uptime
dnLL

2
내 경우 9 개월 이상 차이가 난다 :-) 이것은 유일한 정답입니다. wmic작업 관리자와 마지막 부팅의 실제 날짜 스탬프를 제공합니다 (또는 부팅 후 관련 서비스가 시작된 시점에 매우 근접한 경우) . 작업 관리자는 systeminfo모두 PC가 틱 수만큼 현재 시간부터 거꾸로 계산하는 것처럼 보입니다. 달리는. 그러나 컴퓨터를 절전 모드 (또는 최대 절전 모드)로 설정하면 실제 총 실행 시간이 마지막 부팅 이후의 시간 (지난 몇 달 동안 30 일)보다 훨씬 짧아집니다. 그 계산을 완전히합니다.
Cameron

@cameron에게 감사합니다. 대답 끝에 메모를 추가했습니다. 원래 질문은 컴퓨터가 시작된 시간과 가동 시간이 아니라 실제로 중요한 문제였습니다. Wikipedia는 내가 링크 한 가동 시간 기사의 차이점을 다소 언급합니다.
dnLL

실제로 "부트"시간이 아닙니다. 통계를 쿼리하는 시간에 따라 서버 또는 워크 스테이션 서비스가 시작된 시간입니다. 이것들은 일반적인 Windows 세션 중에 멈추지 않기 때문에 마지막 부팅 시간의 근사치입니다.
oldmud0 2016 년

18

클래스 의 LastBootUpTime속성 이 있습니다 Win32_OperatingSystem. 이 명령으로 WMIC를 사용할 수 있습니다.

wmic os get lastbootuptime

또는 Powershell을 사용하는 경우 시간을 성가신 WMI 날짜 / 시간 형식보다 읽기 쉬운 것으로 변환 할 수 있습니다.

Get-WmiObject -class Win32_OperatingSystem | Select-Object  __SERVER,@{label='LastBootUpTime';expression={$_.ConvertToDateTime($_.LastBootUpTime)}}

이후 버전의 PowerShell에서는 Get-CimInstance를 사용하여 값을 자동으로 날짜 / 시간으로 반환합니다.

Get-CimInstance -Class Win32_OperatingSystem | Select-Object LastBootUpTime

유일한 자극은 Get-CimInstance가 때때로 __SERVER와 같은 WMI 개체의 일부 시스템 필드 이름을 변경한다는 것입니다. CSName나 중 하나를 사용해야합니다 PSComputerName.


20121217175810.414696+120시간을 계산하려면 좋은 계산기가 필요하다고 생각합니다
Royi Namir

7
@Royi 네, WMI 타임 스탬프는 바보입니다. 그것은 A의 CIM_DATETIME표준에서 요구하는 형식이다. 그것은의 yyyymmddHHMMSS.mmmmmmsUUU24 시간 시간을 사용. 여기서 마지막 재부팅 시간은 2012 년 12 월 17 일 오후 5:58입니다. msdn.microsoft.com/en-us/library/windows/desktop/...
베이컨 비트

1
get-wmiobject 방법을 사용하면 원격 컴퓨터의 부팅 시간도 간단하게 얻을 수 있습니다. "-computer <computername>"을 명령에 추가하십시오 (파이프 앞)
camster342

8

거기에 Windows 10 사용자의 경우 ....

시스템 속성 Windows 10-성능 가동 시간


1
이것은 OP가 요청한대로 시스템이 시작된 시간이 아닌 가동 시간 (즉, 시스템 실행 시간)을 나타냅니다.
Dawid Ferenczy Rogožan

1
사실이지만 여전히 유용합니다.
tbc0

오늘날 내 Windows 10 노트북은 가짜 가동 시간을 보여줍니다. 어젯밤에 시스템을 종료하고 한 시간 이내에 전원을 켰으며 작업 관리자는 5 : 19 : 40 : 10에 대한 상태라고 말합니다.
tbc0

Windows 10은 종료 할 때 실제로 종료되지 않습니다. 왜 그런지 정확히 잊어 버렸습니다. 그러나 가동 시간 타이머를 재설정하려면 다시 시작해야합니다.
Daniel Hayes

3

Alex 가 지적한 것처럼 이 /sleepstudy명령은 Windows 8.1까지 추가되지 않았습니다. / systempowerreport 가 대신 작동 할 수 있습니다.

예를 들어 이벤트 로그를 검색하면 항상 일부 항목이 누락 된 것처럼 이러한 다른 답변 중 일부는 저에게 효과적이지 않았습니다. @Florisz의 대답은 그 점에서도 정확합니다. 내 해결책은 다음과 같습니다.

관리자 cmd 쉘에서 다음 명령을 실행하십시오.

powercfg /sleepstudy /output sleepstudy.html

그런 다음 sleepstudy.html브라우저 에서 파일 을여십시오. 지난 3 일 동안의 종료 / 재부팅 / 대기 / 최대 절전 모드에 대한 놀랍도록 체계적인 통계가 표시 됩니다 . (필요한 경우 주기적으로 실행)

출력 예 : (AFAIR, Showdown (Hybrid)빠른 시작을 의미)

여기에 이미지 설명을 입력하십시오

출처 / 문서 | 또한 관련


1
이것이 내가 Windows 10에서 찾고 있었던 것입니다! 재부팅하지 않고 정상적으로 종료합니다. LastBootTime은 Windows 10에서의 재부팅 만 나타냅니다.
tbc0

2

Windows 7에서는 선호합니다

net statistics workstation

WMIC는 휴면 시간을 고려하지 않으며 일주일 동안 휴면 상태 일 때 내 워크 스테이션을 잠가두고 다음날 깨울 준비를합니다.


2

배치 파일의 또 다른 방법은 wmic로 부팅 시간을 얻지 만 사람이 읽을 수있는 형식입니다.

for /f %%a in ('WMIC OS GET lastbootuptime ^| find "."') DO set DTS=%%a
set BOOTTIME=%DTS:~0,4%-%DTS:~4,2%-%DTS:~6,2%  %DTS:~8,2%:%DTS:~10,2%
echo DTS      : %DTS%
echo BOOTTIME :%BOOTTIME%

출력 :

DTS : 20170308073729.491206 + 060

BOOTTIME : 2017-03-08 07:37


1
이 답변은 set BOOTTIME작동 방식에 대한 설명이 포함되어 있으면 더 좋습니다 .
CVn

2

PowerShell에서 가져 오려면 :

Function Get-LastBoot {
        if ($Host.Version.Major -lt 3) {
            Get-WmiObject win32_operatingsystem | Select-Object CSname, @{n = 'LastBootUpTime'; e = {$_.ConverttoDateTime($_.lastbootuptime)}}
        }
        else {
            Get-CimInstance -ClassName win32_operatingsystem | Select-Object CSname, LastBootUpTime
        }
    }

결과는 다음과 같습니다.

CSname  LastBootUpTime
------  --------------
LAPTOP1 2018-09-07 08:57:02

1

거의 모든 버전의 창에서 스왑 파일의 타임 스탬프를 확인할 수 있습니다.

dir /a:hc:\pagefile.sys


1
나는 그렇게 생각하지 않습니다. 적어도 Windows 10에서는 확인했을 때 스왑 파일 시간이 부팅 시간보다 최신이었습니다.
tbc0

1

비슷한 ServerFault 질문 에서 Windows 시스템 이벤트 로그에서 이벤트 ID를 검색 / 필터링하십시오 6009.

: 윈도우 10에서 Event Viewer > Windows Logs > System다음 Filter Current Log...작업.


1

이를 위해 PowerShell을 사용할 수 있습니다.

일시 휴업


Get-WinEvent -LogName Microsoft-Windows-Diagnostics-Performance/Operational | Where { $_.Id -eq 200 }

기록 된 종료 시간 목록이 표시됩니다.

원격 연결에 최적화 된 대체 명령 :

Get-WinEvent -FilterHashtable @{LogName = "Microsoft-Windows-Diagnostics-Performance/Operational"; Id = 200; }

출력 예 :

TimeCreated                     Id LevelDisplayName Message
-----------                     -- ---------------- -------
2017-01-28 18:25:46            200 Critical         Windows has shutdown
2016-11-01 19:55:21            200 Error            Windows has shutdown
2016-10-29 00:18:38            200 Critical         Windows has shutdown
2016-10-26 23:16:55            200 Warning          Windows has shutdown
2016-10-26 15:37:40            200 Warning          Windows has shutdown
2016-10-26 02:18:24            200 Warning          Windows has shutdown
2016-10-26 02:10:34            200 Warning          Windows has shutdown
2016-10-26 02:04:01            200 Warning          Windows has shutdown
2016-10-25 14:23:11            200 Warning          Windows has shutdown
2016-10-25 13:07:46            200 Error            Windows has shutdown
2016-10-25 00:18:12            200 Error            Windows has shutdown
2016-10-19 13:16:39            200 Critical         Windows has shutdown

스타트 업


다음 명령은 기록 된 시작 시간 목록을 제공합니다.

Get-WinEvent -LogName Microsoft-Windows-Diagnostics-Performance/Operational | Where { $_.Id -eq 100}

원격 연결에 최적화 된 대체 명령 :

Get-WinEvent -FilterHashtable @{LogName = "Microsoft-Windows-Diagnostics-Performance/Operational"; Id = 100; }

출력 예 :

TimeCreated                     Id LevelDisplayName Message
-----------                     -- ---------------- -------
2017-10-07 21:35:38            100 Critical         Windows has started up
2017-01-28 18:25:48            100 Critical         Windows has started up
2016-12-11 17:45:07            100 Critical         Windows has started up
2016-11-16 13:26:52            100 Critical         Windows has started up
2016-11-01 19:55:21            100 Critical         Windows has started up
2016-10-29 00:18:39            100 Critical         Windows has started up
2016-10-26 23:16:55            100 Error            Windows has started up
2016-10-26 14:51:07            100 Error            Windows has started up
2016-10-26 02:24:01            100 Error            Windows has started up
2016-10-26 02:18:24            100 Critical         Windows has started up
2016-10-26 02:10:34            100 Error            Windows has started up
2016-10-26 02:04:01            100 Critical         Windows has started up
2016-10-25 14:23:12            100 Error            Windows has started up
2016-10-25 13:07:47            100 Error            Windows has started up
2016-10-25 12:56:23            100 Error            Windows has started up
2016-10-19 13:16:39            100 Critical         Windows has started up

PowerShell 5.1 및 Windows 10.0.15063에서 이것을 테스트했습니다. 그러나 PowerShell 3.0 이상인 경우 Windows 7에서도 작동합니다. 관리자 권한으로 실행해야합니다.

docs.microsoft.com 명령에 대한 전체 설명서를 찾을 수 있습니다.


Windows 10에서는 작동하지 않았습니다. 관리자도 아닙니다. snag.gy/HcEn8j.jpg
tbc0

1

몇 가지 답변 net statistics workstation이 언급되어 있으며 두 가지 모두 언급했습니다.

net statistics server

net statistics workstation

마지막 부팅 관련 데이터를 제공해야합니다 Statistics since ....

그러나 일부 OS 버전 (예 : Svr2008 / 6.0)은를 1/1/1980 12:00사용할 때 날짜로 돌아갑니다 server. 그래서 기본값은 workstation입니다.

또한 일부 명령을 축약 net stats workstation하여 동일한 결과를 얻을 수 있습니다. 마지막으로 시스템에서 시스템으로 이동하면 기본 CMD 상자가 명령의 모든 결과를 표시 할만큼 크지 않습니다. more부팅 시간을보기 위해 위로 스크롤하지 않도록 출력을 파이프합니다 . 따라서 기본 명령은 다음과 같습니다.

net stats workstation | more

명령


1

또한 '재시작'또는 '재부팅'이 완료되면 이러한 모든 명령이 실제로 타임 스탬프를 제공한다는 점을 덧붙이고 싶습니다. 그리고 종료 및 시작이 완료되지 않은 경우. 종료 후 'lastbootuptime'은 실제 부팅 시간이 아니라 시스템이 실제로 '다시 시작된'시간을 반영합니다. 따라서 shutdown / start는 LastBootUpTime 타임 스탬프에 대해 suspend / hybernnate에서 돌아 오는 것과 동일한 결과를 제공합니다.


0

최대 답변과 동일 ...

for /f %%a in ('WMIC OS GET lastbootuptime ^| find "."') DO set DTS=%%a
set BOOTTIME=%DTS:~0,4%-%DTS:~4,2%-%DTS:~6,2%  %DTS:~8,2%:%DTS:~10,2%
echo DTS      : %DTS%
echo BOOTTIME :%BOOTTIME%

...하지만 oneliner에서 :

for /f %a in ('WMIC OS GET lastbootuptime ^| find "."') DO set DTS=%a && echo %DTS:~0,4%-%DTS:~4,2%-%DTS:~6,2% %DTS:~8,2%:%DTS:~10,2%

이 wmi 구현은 약간 복잡하게 보일 수 있지만 다른 powershell 또는 systeminfo 구현과 비교할 때 매우 빠르며 코드에서 명시 적이므로 형식을 쉽게 변경할 수 있습니다.

맥스 감사합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.