マシンが休止状態/サスペンドモードから戻ったときにWindows(XP、Vistaおよび7)でスクリプトを実行する方法はありますか?マシンの再開後にユーザーがロックされたセッションのロックを解除した後にスクリプトが実行されれば問題ありません。
再開時にマシンを適切に実行するために、マシンが再開したときにサービスを起動する必要があります。
Windows 7では、スケジュールされたタスクでこれを行うことができます。バッチスクリプトを設定して必要なアクションを実行し、次のいずれかのトリガーでタスクを作成します。
これらが期待どおりに動作することを確認するためにこれらをテストしていませんが、「ワークステーションロック」を使用して大きな成功を収めています。私がXPでスケジュールされたタスクについて覚えていることから、それは「ログオンしたとき」しかありません。
お役に立てれば
Win32_PowerManagementEvent を使用していますか?私はそれをグーグルで検索したところ、 次のスクリプト (保証なし)が見つかりました。
Set oShell = CreateObject("WScript.Shell")
Set colMonitoredEvents = GetObject("winmgmts:")._
ExecNotificationQuery("Select * from Win32_PowerManagementEvent")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Select Case objLatestEvent.EventType
Case 4
oShell.Run "Calc.exe", 1, False
MsgBox "Entering suspend, Calc started", _
vbInformation + vbSystemModal, "Suspend"
Case 7
oShell.Run "Notepad.exe", 1, False
MsgBox "Resuming from suspend, notepad started", _
vbInformation + vbSystemModal, "Suspend"
Case 11
MsgBox "OEM Event happened, OEMEventCode = " _
& strLatestEvent.OEMEventCode
Case 18
MsgBox "Resume Automatic happened"
End Select
Loop
スケジュールされたタスクをトリガー付きで追加:ワークステーションのロック解除。それは機能し、私は睡眠から目覚めた後にそれを実行します。私のWindows 2008R2ボックスでは、オーディオサービスを再起動する必要があります。それ以外の場合は、1 CPUの100%を使用することがあります。