Windows Server 다시 시작 / 종료 기록


87

Windows Server를 다시 시작하거나 종료 할 때마다 사용자 시작, 시스템 시작 및 시스템 충돌을 포함한 이유를 쉽게 확인할 수있는 방법은 무엇입니까?

Windows 이벤트 로그는 확실한 대답이지만 볼 수있는 전체 이벤트 목록은 무엇입니까?

내 질문에 부분적으로 답하는 게시물을 찾았습니다.

그러나 모든 시나리오 AFAIK를 다루지는 않으며 정보가 여러 답변에 분산되어 있기 때문에 정보를 이해하기 어렵습니다.

여러 버전의 Windows Server가 있으므로 2008, 2008 R2, 2012 및 2012 R2 버전 이상에서 작동하는 솔루션이 이상적입니다.


1
어떤 상황에서는 Nirsoft의 TurnedOnTimesView가 충분할 수 있습니다. ( nirsoft.net/utils/computer_turned_on_times.html ) 재부팅 및 종료 시간을 보여줍니다.
피터 한 도르프

opsview, nagios, icinga, shinken과 같은 외부 모니터링 도구를 사용하십니까? 이 도구는 모니터링 결과를 데이터베이스에 저장 한 다음 서버가 다시 시작되었는지 여부와 시간을 확인할 수 있습니다.
030

답변:


100

내가 찾을 수있는 가장 간결한 대답은 다음과 같습니다.

다음은 모니터링 할 이벤트 ID를 나열합니다 (문서에서 인용되었지만 편집 및 재 형식화 됨).

  • 이벤트 ID 6005 ( 대체 ) :“이벤트 로그 서비스가 시작되었습니다.”이것은 시스템 시작과 동의어입니다.
  • 이벤트 ID 6006 ( 대체 ) :“이벤트 로그 서비스가 중지되었습니다.”이것은 시스템 종료와 동의어입니다.
  • 이벤트 ID 6008 ( 대체 ) : "이전 시스템 종료가 예상치 못했습니다." 시스템이 올바르게 종료되지 않은 후 시스템이 시작되었음을 기록합니다.
  • 이벤트 ID 6009 ( 대체 ) : 부팅시 감지 된 Windows 제품 이름, 버전, 빌드 번호, 서비스 팩 번호 및 운영 체제 유형을 나타냅니다.
  • 이벤트 ID 6013 : 컴퓨터의 가동 시간을 표시합니다. 이 ID에 대한 TechNet 페이지가 없습니다.

내 OP에 나열된 서버 오류 답변에서 몇 가지를 추가하십시오.

  • 이벤트 ID 1074 ( 대체 ) : "X 프로세스는 다음과 같은 이유로 사용자 Y 대신 컴퓨터의 다시 시작 / 종료를 시작했습니다. Z." 응용 프로그램 또는 사용자가 다시 시작 또는 종료를 시작했음을 나타냅니다.
  • 이벤트 ID 1076 ( 대체 ) : "사용자 X가이 컴퓨터를 마지막으로 예기치 않게 종료 한 이유는 Y입니다." 종료 권한이있는 첫 번째 사용자가 예기치 않게 다시 시작하거나 종료 한 후 컴퓨터에 로그온하고 발생 이유를 제공 할 때 기록합니다.

내가보고 싶었어?


3
버그 확인으로 인한 전원 손실과 재부팅을 구분하려면 이벤트 ID 41 (소스 : Microsoft-Windows-Kernel-Power)과 이벤트 ID 1001 :( 소스 : BugCheck)의 조합을 찾으십시오. 후자가 없으면 전원 손실 또는 재설정을 나타냅니다.
sendmoreinfo

4
도움이되었습니다. johnC 감사합니다. Filter Current Log 창의 이벤트 ID 포함 / 제외 필드에 "6005, 6006, 6008, 6009, 6013, 1074, 1076"을 입력하여 정확히 필요한 정보를 제공했습니다.
joey

1
당신은 아마 추가해야 Kernel-General이벤트 ID와 함께12 : 즉, "시작 시간 시스템"/ 등 재설정 일반적으로 재부팅 후 로그인하는 첫 번째 이벤트 ID이며, 실제를 보여줍니다 - 09 "운영 체제는 시스템 시간 2017에서 시작 - 19T02 : 46 : 06.582794900Z. "
Abel

이 답변의 링크가 깨졌습니다
Tim Schmelter

1
이벤트 로그 코드에서 현재 Microsoft 문서를 검색했지만 찾지 못했기 때문에 Microsoft Docs github에서 새로운 MS 문서 체제 github.com/MicrosoftDocs/windowsserverdocs/issues 에서이 콘텐츠를 어디에서 부활시킬 것인지에 대한 조언 / 합의를 이끌어 내기 위해 Microsoft Docs github에서 문제를 만들었습니다. / 444 . @ tim-schmelter 의견을 올리십시오.
JohnC

4

JohnC가 기본적으로 모든 것을 다루었 기 때문에 이것을 단순히 주석으로 남겨 두려고하지만 아직 그렇게 할 수는 없습니다.

그가 묘사 한 이벤트는 꽤 오랫동안 사용되어 왔기 때문에 언급 한 모든 OS 및 데스크탑 형제에게도 효과가 있습니다. TechNet의 6006 과 같은 이벤트 ID 페이지 에는 Windows Server 2003이 언급되어 있습니다.

정상적으로 종료 된 경우, 사용자가 시작했거나 그렇지 않은 경우 다양한 서비스가 "중지 된 상태가되었습니다"라는 이벤트 ID 7036 이 표시됩니다. 머신이 다시 시작되면 서비스가 실행 중 상태임을 알리는 7036 개가 더 표시됩니다.


2
서비스가 반복적으로 사이클링 상태 인 경우 큰 이벤트 ID 7036 블록도 표시되므로 재시작을 찾는 것이 가장 좋은 방법은 아닙니다. 먼저 JohnC가 설명한 이벤트를 찾아야합니다 .
JTL

3

바탕 @JohnC 의 대답과 확장

다음과 같은 XML 필터를 사용할 수 있습니다.

<QueryList>
<Query Id="0" Path="System">
<Select Path="Security">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="Setup">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='eventlog' or @Name='Microsoft-Windows-Eventlog'] and (EventID=1074 or EventID=1076 or EventID=6005 or EventID=6006 or EventID=6008) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="Microsoft-Windows-Kernel-Power/Diagnostic">*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (Level=1 ) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="Microsoft-Windows-Kernel-Power/Thermal-Diagnostic">*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (Level=1 ) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Kernel-Power'] and (Level=1 ) and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='User32'] and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
<Select Path="System">*[System[Provider[@Name='Microsoft-Windows-WER-SystemErrorReporting'] and TimeCreated[timediff(@SystemTime) &lt;= 172800000]]]</Select>
</Query>
</QueryList>

시간 범위에 대해 172800000을 아래 값으로 바꿀 수 있습니다.

86400000-지난 24 시간

172800000-지난 2 일

604800000-지난 7 일

서버 / PC가 오프라인 상태가 된 시점부터 훨씬 자세하게 표시됩니다. 여기에는 Kernel-Power, User32 및 EventLog 이벤트가 포함됩니다.


2

나는 커맨드 라인에서 활동을 수행하는 것을 선호합니다. 활용할 수있는 스 니펫의 시작은 다음과 같습니다. 가장 최근의 30,000 개의 시스템 레코드가 표시되고 해당 레코드 내에서 재부팅이 반환됩니다.

Get-EventLog -LogName System -Newest 30000 | Where-Object {$_.EventID -eq 6005}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.