재부팅 또는 종료 하시겠습니까?


1

다음과 같은 문제가 있습니다. 컴퓨터가 시작된 시점, 컴퓨터가 꺼진 후 (콜드 스타트) 또는 컴퓨터가 단순히 다시 시작된 경우 (핫 스타트)를 알아야합니다. gpedit에 설정된 시작 스크립트를 통해 다음과 같은 대답을 알아야합니다.

If PC restarted then

    msg: The PC has been warm reboot

elseif PC shutdown then

    msg: The PC has been cold reboot

end if

(참고 : 사실 전자 메일은 전송되지만 중요하지는 않습니다.)

이제 커뮤니티에 묻습니다.이 정보를 시스템에서 어떻게 복구 할 수 있습니까? 필자의 출발점은 "Eventviewer"도구이지만이 솔루션에는별로 만족하지 않습니다. ACPI 이벤트는 BCD 저장소에 저장되어 있다고 생각하며 어떤 방식 으로든 ACPI 이벤트를 복구 할 수 있는지 궁금합니다. 아마도 WMIC를 통해? 또는 정보를 직접 검색 할 수있는 시스템 로그 파일이 있습니까?

누구든지 진행 방법에 대한 아이디어가 있습니까?

참고 : 지금은 Windows 환경에만 관심이 있지만 Unix 및 Unix (Linux 등)의 경우에도 매우 흥미 롭다고 생각합니다.


Windows의 경우 계정에 다시 로그인하면 다시 부팅과 종료 사이에 차이가 없습니다. Windows는 재부팅이 발생하고 종료가 발생한다는 것을 알고 있지만 로그온 이벤트는 다를 수 있습니다.
Ramhound

마지막 종료 후 시간을 비교할 수 있었습니까?
Xen2050

안녕 Ramhound 이것은 경험이 많은 사람들을위한 질문이며 답이없는 채로 남아있을 가능성이 큽니다. 어쨌든 당신이 말하는 것은 정확하지 않습니다. 컴퓨터를 다시 시작한 다음 (그리고 시간을 확인하십시오) 다음 번에 "Eventviewer"가 열리고 "Windows 로그"가 필터링됩니다. & gt; "시스템", 레벨 "정보", 소스 "USER32", ID 1074는 시스템 재시작 방법을 알려줍니다 (시간 확인!).
Luciano

다시 말하지만, 컴퓨터가 정전으로 인해 꺼지면 다음 재시동시 "안전 모드", "보통"등으로 컴퓨터를 시작할 것인지 여부를 선택할 수있는 EMS 메뉴가 나타납니다. 이는 다음을 의미합니다. 이 정보가 BCD 어딘가에 저장된다는 것은 명백합니다. 마지막으로, 완벽을 기하기 위해 서버 시스템에서 (그리고 서버 시스템에서만) 셧다운 모드를 선택하는 것 외에도 이벤트에 설명을 추가 할 수 있습니다. 그러면 이벤트가 시스템의 어딘가에 저장됩니다 (로그 파일 ), 정확히 어디에서?
Luciano

아마도이 정보는 레지스터, "시스템"하이브에서도 찾을 수 있지만 여기서도?
Luciano

답변:


2

PowerShell을 사용하여 자세한 정보를 얻을 수 있습니다.

Get-WinEvent -FilterHashTable @{LogName="System"; ProviderName="User32"} -MaxEvents 1

위의 명령은 최신 시스템 종료 / 재시작 이벤트 정보를 제공합니다. 기본적으로 로그가 가장 먼저 검색되므로 1로 제한하면 최신 이벤트가 제공됩니다. Btw, @ Luciano의 의견 덕분에 많은 도움이되었습니다. 아래는 귀하의 사례에 대한 전체 스크립트입니다.

$lastEvent = Get-WinEvent -FilterHashTable @{LogName="System"; ProviderName="User32"} -MaxEvents 1
$restarted = $lastEvent.Message -like "*restart*"
if($restarted)
{
    Write-Host "The PC has been warm reboot" -ForegroundColor Red
}
else
{
    Write-Host "The PC has been cold reboot" -ForegroundColor Green
}

참조 할 수 있습니다. 이리 시작시 powershell 스크립트를 실행하는 방법에 대해 설명합니다.


안녕 Ram, 내 시스템의 프롬프트 창에 출력이 나타나지 않지만 PowerShell ISE에서 훌륭하게 작동합니다. 고맙습니다. 정말 좋다.
Luciano

당신이 언론에 대해 어떤 행동을 계속하기 위해 찾고 있다고 생각합니다. 행동,이 링크를 확인할 수 있습니다 : stackoverflow.com/questions/20886243/press-any-key-to-continue 또한 나는이 이벤트에 대한 공급자 이름에 대해 많이 알지 못한다. 사용자 의견을 바탕으로 User32와 함께 왔으며, 많은 것을 배웠다. 감사합니다. :)
Ram Kumaran
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.