Como saber por qual método meu sistema inicializou?

Como saber por qual método meu sistema inicializou?

Existe alguma maneira de detectar se meu sistema foi iniciado pressionando manualmente o botão liga / desliga ou foi iniciado por causa de um pacote Wake-On-LAN? Posso armazenar esse valor em algum lugar e usá-lo programaticamente?

Responder1

No Windows, a fonte de ativação é registrada no log do sistema. Não tenho certeza se ele registra especificamente seu pacote WOL como fonte, mas você terá que tentar por si mesmo, pois existem diferentes sistemas em funcionamento e por isso o método descrito abaixo énãoà prova de falhas. (Espero que todos os termos em inglês sejam traduzidos corretamente, pois estou usando uma cópia holandesa do Windows. Portanto, se você não conseguir encontrar algo, procure por algo remotamente semelhante! ;-))


A maneira manual e humana:

  1. Encontre oRegistro do sistemaabrindo a caixa de diálogo de execução pressionando Win+ r. Digitareventovwr.msce então corra.
  2. À esquerda, abraRegistros do Windowse entãoSistema.
  3. Clique com o botão direitoSistemae selecioneFiltrar registro atual...
  4. Na caixa de diálogo que aparece, emFontes de eventos, selecioneSolucionador de problemas de energiae cliqueOK.

Agora deve listar todas as entradas de log relacionadas à energia. Se você clicar em um, oEm geralguia também deve listar oFonte de despertar.


Exemplo por meio do PowerShell:

Os logs do sistema podem ser acessados ​​por meio do PowerShell. O comando abaixo no PowerShell retornará a última entrada de log sobre energia contendo o"Fonte do Despertar". Adapte-o às suas necessidades. (Regex essas coisas!)

Get-EventLog "System" | Where-Object {$_.source -like "*Microsoft-Windows-Power-Troubleshooter*"} | select -first 1 | Format-List 

informação relacionada