Wake-on-LAN (WoL) 또는 전원 버튼으로 인해 시스템이 부팅되었는지 어떻게 알 수 있습니까? 방법을 알고

Windows 10에서는 시스템이 WoL (Wake-on-LAN) 패킷을 수신하여 켜 졌는지 또는 전원 버튼을 눌러 켜졌 기 때문에 부팅되었는지 스크립트에서 알 수있는 방법을 알고 싶습니다. .

Win32_ComputerSystem 클래스 의 WakeUpType 속성을 찾았습니다 . “시스템 전원을 켜는 이벤트”를 반환하도록 문서화되어 있습니다. 9 개의 가능한 리턴 값이 있으며 그 중 하나는 “5”입니다 ( “LAN Remote”의미).

불행히도 내 시스템에서 항상 “6”( “전원 스위치”를 의미)을 반환하는 것 같습니다.

PS C:\WINDOWS\system32> echo $(Get-WmiObject -class win32_computersystem).wakeuptype
6

시스템을 절전 모드로 설정하고 WoL을 사용하여 시스템을 깨운 후 Windows는 다음과 같은 텍스트를 포함하는 “Power-Troubleshooter”소스 및 이벤트 ID 1과 함께 이벤트를 시스템 이벤트 로그에 게시합니다.

웨이크 소스 : 장치 -Intel (R) 82579V 기가비트 네트워크 연결

또한 powercfg /lastwakeNIC를 깨우는 이유로보고합니다. 따라서 적어도 절전 모드에서 깨어 났을 때 WakeUpType 속성이 여전히 “6”(전원 스위치)을 반환하더라도 WoL 패킷으로 인해 깨어 났음을 Windows가 확인할 수 있습니다.

불행히도 시스템이 S5 상태의 WoL 패킷을 수신하면 제대로 전원이 켜지고 부팅되지만 WoL 때문에 부팅되었다고 말할 수는 없습니다. powercfg /lastwake전원 버튼을 눌러 시스템이 S5에서 전원을 켤 때와 정확히 동일한 출력을 표시합니다.

C:\WINDOWS\system32>powercfg /lastwake
Wake History Count - 0

전원 상태 (최대 S5)에서 WoL로 인해 시스템 전원이 켜지거나 깨어났다는 것을 어떻게 안정적으로 알 수 있습니까?



답변

내 접근법은 BIOS에서 데이터를 읽는 dmidecode 를 사용 하는 것입니다.

dmidecode | findstr / R / C : “모닝콜”

이 질문에 대한 feitingen의 답변과 유사

그래도 작동하지 않으면 하드웨어가 해당 값을 올바르게 기록하지 않아야합니다.


답변

WOL 패킷을 보내는 PC의 이벤트를 추적하기 위해 스크립트 (또는 소프트웨어)를 설정할 수 있습니다.
이 스크립트는 파일 (어딘가에 네트워크 공유?)에 무언가 (현재 날짜 / 시간?)를 쓴 다음 방금 깨어 난 컴퓨터가이 공유 파일을 확인하고 WOL에 의해 전원이 공급되었는지 확인할 수 있습니다. 패킷.