해결되지 않음
이 게시글은 5년 이상 된 게시글입니다.
2 Intern
•
270 Posts
0
2922
December 30th, 2008 22:00
Windows의 마지막 셧다운 시각 추적하기
가장 손쉬운 Windows XP/2003/Vista 시스템의 마지막 셧다운 기록을 분명히 볼 수 있는 것은 이벤트 로그를 체크하는 것으로, Event ID 6006로 이벤트 로그에 마지막 셧다운 시각과 일시 등이 나타나며, 아래에 그 샘플 이벤트가 있습니다.
Event Type: Information
Event Source: EventLog
Event Category: None
Event ID: 6006
Date: 9/8/2008
Time: 3:35:20 PM
User: N/A
Computer: MYCOMP
Description:
The Event log service was stopped.
이에 대하여는 아래 링크를 참조하면 더 자세한 정보를 얻을 수 있습니다.
[이벤트 뷰어]를 실행하기 위하여 Eventvwr.msc 를 런칭합니다.
좌측 창에서 [시스템]을 클릭합니다.
주의 : Windows Vista에서는 [Windows Logs]를 더블클릭하여 [System]을 선택합니다.
글머리의 [시간] 항목을 클릭하여 일자순(내림차순)으로 정렬합니다.
가장 최근의 [이벤트] 항목에서 ID 6006 항목을 찾아, 이벤트 로그는 [원본] 항목의 내용을 봅니다.
선택된 항목을 더블클릭하면 좀 더 읽기가 쉽습니다.
참고 : Windows Vista에서는 셧다운 시에 아래와 같이 1074 이벤트도 기록합니다.
Source: User32 ID: 1074 (Windows Operating System 5.2) - Technet Events And Errors Message Center: Message Details:
http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows
+Operating+System&ProdVer=5.2&EvtID=1074&Evtsrc=User32&LCID=1033
레지스트리를 이용하는 방법
Windows는 아래 레지스트리 분기점에, ShutdownTime이라는 이름의 REG_BINARY 값으로 마지막 셧다운 일자와 시각을 저장합니다.
HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Control \\ Windows
여기서 Binary data를 사용자가 읽기 위해서는 아래에서 제공되는 스크립트를 사용할 수 있으며, 이 스크립트는 바로 레지스트리를 읽어 그 Binary data를 읽을 수 있도록 표시합니다.
-
strValueName = "HKLM\\SYSTEM\\CurrentControlSet\\Control\\Windows\\" _
& "ShutdownTime"
Set oShell = CreateObject("WScript.Shell")
Ar = oShell.RegRead(strValueName)
Term = Ar(7)*(2^56) + Ar(6)*(2^48) + Ar(5)*(2^40) + Ar(4)*(2^32) _
+ Ar(3)*(2^24) + Ar(2)*(2^16) + Ar(1)*(2^8) + Ar(0)
Days = Term/(1E7*86400)
WScript.Echo "ShutdownTime = " & CDate(DateSerial(1601, 1, 1) + Days) _
& " UTC"
위 코드를 복사하여 메모장에 붙여넣기하여 그 이름을 ".vbs" 확장자의 것으로 저장 후, 더블클릭으로 실행합니다.
그림은 실행 결과입니다