Jalankan skrip ketika Windows melanjutkan dari status menangguhkan / hibernasi?

14

Apakah ada cara agar Windows (XP, Vista dan 7) menjalankan skrip ketika mesin kembali dari mode hibernate / suspend? Akan baik-baik saja dengan saya jika skrip berjalan setelah pengguna membuka sesi yang terkunci setelah mesin mereka dilanjutkan.

Saya memiliki layanan yang perlu ditendang ketika saya melanjutkan mesin agar bisa berfungsi dengan benar pada resume.

Ian C.
sumber

Jawaban:

14

Di windows 7, Anda dapat melakukan ini dengan tugas yang dijadwalkan. Siapkan skrip kumpulan untuk melakukan tindakan yang Anda inginkan dan kemudian buat tugas dengan salah satu pemicu berikut:

  • Pada pembukaan kunci workstation - Mengabaikan login pertama, tetapi akan mulai setelah membuka kunci.
  • Pada koneksi ke sesi pengguna - Setiap login, bisa koneksi lokal atau jarak jauh.
  • Pada suatu peristiwa - Dalam log sistem, Sumber "Pemecah Masalah" Sumber akan mencatat kode peristiwa 1 ketika Anda bangun dari kondisi tidur.

Saya belum menguji ini untuk memastikan bahwa mereka berfungsi seperti yang diharapkan, tetapi saya telah menggunakan "Pada kunci workstation" dengan jumlah keberhasilan yang tinggi. Dari apa yang saya ingat dari tugas yang dijadwalkan di XP, itu hanya memiliki "Ketika saya masuk".

win 7 source doc

win XP source doc

Semoga ini membantu

Doltknuckle
sumber
2
Perhatikan bahwa opsi pemicu "Saat mengunci / membuka kunci kerja" hanya ditampilkan untuk "Buat Tugas ..." dan bukan "Buat Tugas Dasar ..."
rymo
Sumber "Pemecah Masalah Daya" bekerja juga dengan Win 8.1.
Ramuan
1
Power-Troubleshooter tidak berfungsi untuk saya dalam win 10 pro. Buka kunci workstation tetap berfungsi
e-cloud
1
"On workstation unlock" bekerja untuk saya
sms247
Kode acara 107 berfungsi untuk saya dalam win 10 pro
Alex78191
2

Menggunakan Win32_PowerManagementEvent ? Saya baru saja mencarinya di Google dan menemukan skrip berikut (tidak ada jaminan;).

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
Andy
sumber
1

Tambahkan tugas terjadwal dengan pemicu: pada pembukaan kunci workstation. Berhasil, saya menjalankannya setelah bangun tidur. Om kotak Windows 2008R2 saya, layanan audio perlu restart, kalau tidak kadang-kadang menggunakan 100% dari 1 cpu.

ed m
sumber
-1

Saya benar-benar menulis skrip semacam itu beberapa waktu lalu dan menulis blog tentang itu, tapi saya yakin itu sedikit setelah pertanyaan Anda di sini. Lain kali saya menulis sesuatu seperti ini saya akan mencari Stack Overflow segera, karena ketika orang mencari hal-hal seperti itu, mereka cenderung pergi ke situs ini saat ini.

Regeter
sumber
4
Walaupun memiliki tautan itu bagus, bisakah Anda memposting bagian penting (bahkan skrip) di sini, di tempat? Dengan cara ini pengguna tidak perlu pergi ke tempat lain, dan jika blog turun, kami memiliki cadangan.
slhck