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 /lastwake
NIC를 깨우는 이유로보고합니다. 따라서 적어도 절전 모드에서 깨어 났을 때 WakeUpType 속성이 여전히 "6"(전원 스위치)을 반환하더라도 WoL 패킷으로 인해 깨어 났음을 Windows가 확인할 수 있습니다.
불행히도 시스템이 S5 상태의 WoL 패킷을 수신하면 제대로 전원이 켜지고 부팅되지만 WoL 때문에 부팅되었다고 말할 수는 없습니다. powercfg /lastwake
전원 버튼을 눌러 시스템이 S5에서 전원을 켤 때와 정확히 동일한 출력을 표시합니다.
C:\WINDOWS\system32>powercfg /lastwake
Wake History Count - 0
전원 상태 (최대 S5)에서 WoL로 인해 시스템 전원이 켜지거나 깨어났다는 것을 어떻게 안정적으로 알 수 있습니까?