加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-10 – 如何判断系统是否因为局域网唤醒(WoL)或电源按钮

发布时间:2020-12-13 19:43:40 所属栏目:Windows 来源:网络整理
导读:在 Windows 10中,我想知道如何在脚本中告诉系统是否因为通过接收局域网唤醒(WoL)数据包而打开,或者因为按下电源按钮而打开了系统. 我确实找到了Win32_ComputerSystem类的WakeUpType属性.据记载,这将返回“导致系统启动的事件”.有9个可能的返回值,其中一个是
在 Windows 10中,我想知道如何在脚本中告诉系统是否因为通过接收局域网唤醒(WoL)数据包而打开,或者因为按下电源按钮而打开了系统.

我确实找到了Win32_ComputerSystem类的WakeUpType属性.据记载,这将返回“导致系统启动的事件”.有9个可能的返回值,其中一个是“5”(表示“LAN Remote”).

不幸的是,在我的系统上它似乎总是返回“6”(意思是“电源开关”):

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

我注意到在使用WoL将系统置于睡眠并唤醒之后,Windows在系统事件日志中发布了一个事件,其中包含源“Power-Troubleshooter”和事件ID 1,其中包含以下文本:

Wake Source: Device -Intel(R) 82579V Gigabit Network Connection

此外,powercfg / lastwake报告NIC作为唤醒的原因.因此,至少在从睡眠状态唤醒时,Windows能够确定它因WoL数据包而醒来,即使在这种情况下WakeUpType属性仍然返回“6”(电源开关).

不幸的是,当系统收到处于S5状态的WoL数据包时,它将正常启动和启动,但我不能说它是因为WoL引导的. powercfg / lastwake显示完全相同的输出,因为按下电源按钮系统从S5启动时:

C:WINDOWSsystem32>powercfg /lastwake
Wake History Count - 0

从任何电源状态(直到S5),我如何可靠地判断系统是否因为WoL而上电/上电?

我的方法是使用 dmidecode来读取BIOS中的数据,例如

dmidecode | findstr /R /C:”Wake-up”

与费腾根对this question的回答相似

如果这不起作用,那么您的硬件不能正确记录该值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读