
¿Hay alguna forma de detectar si mi sistema se inició presionando manualmente el botón de encendido o si se inició debido a un paquete Wake-On-LAN? ¿Puedo almacenar este valor en algún lugar y usarlo mediante programación?
Respuesta1
En Windows, la fuente de activación se registra en el Registro del sistema. No estoy seguro de si registra específicamente su paquete WOL como fuente, pero tendría que probarlo usted mismo ya que existen diferentes sistemas, por lo que el método que se describe a continuación esnoprueba de fallos. (Espero que todos los términos en inglés estén traducidos correctamente ya que estoy usando una copia holandesa de Windows. Por lo tanto, si no puede encontrar algo, ¡busque algo remotamente similar! ;-))
El modo manual y humano:
- Encuentra elRegistro del sistemaabriendo el cuadro de diálogo de ejecución presionando Win+ r. Ingresareventovwr.mscy luego correr.
- A la izquierda, abreRegistros de Windowsy luegoSistema.
- Botón derecho del ratónSistemay seleccioneFiltrar registro actual...
- En el cuadro de diálogo que aparece, enFuentes de eventos, seleccionarSolucionador de problemas de energíay haga clicDE ACUERDO.
Ahora debería enumerar todas las entradas de registro relacionadas con la energía. Si hace clic en uno, elGeneralLa pestaña también debe enumerar losfuente de despertar.
Ejemplo a través de PowerShell:
Se puede acceder a los registros del sistema a través de PowerShell. El siguiente comando en PowerShell devolverá la última entrada del registro sobre la energía que contiene el"Fuente de despertar". Adáptalo a tus necesidades. (¡Regex esas cosas!)
Get-EventLog "System" | Where-Object {$_.source -like "*Microsoft-Windows-Power-Troubleshooter*"} | select -first 1 | Format-List