我试图找出上次计算机退出待机/休眠状态的时间。我知道我可以通过观看 Win32_PowerManagementEvent 来获得它,但在这种情况下这不起作用,因为我需要一些我可以轮询的东西 - 有什么想法吗?它不一定是 WMI,我只是假设它会在那里。
谢谢!
我试图找出上次计算机退出待机/休眠状态的时间。我知道我可以通过观看 Win32_PowerManagementEvent 来获得它,但在这种情况下这不起作用,因为我需要一些我可以轮询的东西 - 有什么想法吗?它不一定是 WMI,我只是假设它会在那里。
谢谢!
实际上,正如通常发生的那样,我一发布它就想到了这一点。
因此,为了观察计算机何时退出待机状态,即 Win32_PowerManagementEvent 中的 EventType 7,我使用了 Powershell。
Register-WmiEvent -query "Select * From Win32_PowerManagementEvent where EventType=7" -messagedata "Power Management Resume" -sourceidentifier "Resume"
然后我进入并退出待机状态,然后执行 Get-PSEvent,它显示了我创建的事件。我本来可以使用 -action 来分配一个脚本块以在该事件发生时运行,但我正在寻找要轮询的东西。
Awesome, thank you for this solution! I managed to get my script working using yours as a template. I can just run this using Task Scheduler.
Register-WMIEvent -query "Select * From Win32_PowerManagementEvent where EventType=4" `
-sourceIdentifier "Action Before Sleep" `
-action {
write-host "Sleeping time!"
nircmd.exe speak text "Remember Keyboard cover"
}
#Get-EventSubscriber
#unregister-Event -subscriptionid 3