有什么方法可以检测我的系统是通过手动按下电源按钮启动的还是通过 LAN 唤醒数据包启动的?我可以将这个值存储在某处并以编程方式使用它吗?
答案1
在 Windows 中,唤醒源记录在系统日志中。我不确定它是否专门将您的 WOL 数据包记录为源,但您必须自己尝试,因为存在不同的系统,这就是为什么下面描述的方法不是防故障。(我希望所有英文术语都翻译正确,因为我使用的是荷兰语版本的 Windows。因此,如果您找不到某些东西,请寻找任何类似的东西!;-))
手动、人性化的方式:
- 找出系统日志Win通过按+打开运行对话框 r。输入事件监视器然后运行。
- 在左侧,打开Windows 日志进而系统。
- 右键点击系统并选择过滤当前日志...
- 在弹出的对话框中,事件源, 选择电源故障排除并点击好的。
现在应该会列出所有与电源相关的日志条目。如果您单击其中一个,一般的选项卡还应列出唤醒源。
通过 PowerShell 的示例:
可以通过 PowerShell 访问系统日志。PowerShell 上的以下命令将返回有关电源的最后一条日志条目,其中包含“唤醒源”. 使其适应您的需求。(使用正则表达式!)
Get-EventLog "System" | Where-Object {$_.source -like "*Microsoft-Windows-Power-Troubleshooter*"} | select -first 1 | Format-List