0

我试图找出上次计算机退出待机/休眠状态的时间。我知道我可以通过观看 Win32_PowerManagementEvent 来获得它,但在这种情况下这不起作用,因为我需要一些我可以轮询的东西 - 有什么想法吗?它不一定是 WMI,我只是假设它会在那里。

谢谢!

4

2 回答 2

2

实际上,正如通常发生的那样,我一发布它就想到了这一点。

因此,为了观察计算机何时退出待机状态,即 Win32_PowerManagementEvent 中的 EventType 7,我使用了 Powershell。

Register-WmiEvent -query "Select * From Win32_PowerManagementEvent where EventType=7" -messagedata "Power Management Resume" -sourceidentifier "Resume"

然后我进入并退出待机状态,然后执行 Get-PSEvent,它显示了我创建的事件。我本来可以使用 -action 来分配一个脚本块以在该事件发生时运行,但我正在寻找要轮询的东西。

于 2008-12-11T17:17:29.267 回答
0

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
于 2021-08-01T09:27:00.027 回答