Apakah mungkin membuat acara atau skrip untuk diluncurkan saat komputer mulai menggunakan Wake-On-Lan?
Saya tidak ingin memulai program (secara otomatis) ketika komputer dinyalakan secara normal.
Apakah mungkin membuat acara atau skrip untuk diluncurkan saat komputer mulai menggunakan Wake-On-Lan?
Saya tidak ingin memulai program (secara otomatis) ketika komputer dinyalakan secara normal.
Jawaban:
Inilah ide saya untuk membuat pemicu seperti itu (tapi saya tidak bisa menjamin kesuksesan). Karena saya tidak memiliki lingkungan yang tepat untuk menguji ide, beberapa eksperimen diperlukan di pihak Anda.
Perintah berikut dapat digunakan untuk mengidentifikasi sumber bangun:
powercfg -lastwake
Dalam kasus Wake-On-Lan (WOL), perangkat bangun yang dilaporkan adalah milik Anda Pengontrol Ethernet.
Setelah Anda tahu bahwa peristiwa semacam itu telah terjadi dan nama persisnya bangun sumber, ini ide saya tentang cara menambahkan skrip pemicu:
Powershell.exe
dan jalur menuju skrip Anda Beberapa referensi dan contoh untuk membantu memulai:
Seperti Ramhound sudah disebutkan dalam komentar, Windows tidak memiliki cara untuk mengetahui bagaimana komputer dihidupkan. (WOL, acara Bios timer, dihidupkan secara manual, dan sebagainya.)
Satu-satunya hal yang dapat Anda peroleh dari Windows adalah apakah startup komputer terjadi setelah peristiwa restart atau shutdown yang normal atau jika komputer dinyalakan setelah kehilangan daya yang tak terduga atau shutdown paksa.
Informasi ini dapat ditemukan di log peristiwa.
Yang terbaik yang dapat Anda lakukan berlaku jika Anda tahu pasti bahwa acara WOL hanya terjadi dalam kerangka waktu yang Anda tidak akan pernah menggunakan komputer Anda sendiri.
Anda dapat mengatur tugas yang dijadwalkan untuk dijalankan setiap 5 menit atau lebih selama jangka waktu yang menjalankan skrip untuk meluncurkan aplikasi.
Tugas harus dikonfigurasikan untuk TIDAK membangunkan komputer, sehingga hanya akan berjalan jika komputer dibangunkan oleh WOL.
Script pada dasarnya harus memeriksa terlebih dahulu apakah aplikasi sudah berjalan (jika: keluar) dan meluncurkan aplikasi jika tidak berjalan.
Selain itu: Jika acara WOL datang secara acak, Anda masih dapat menggunakan pendekatan tugas terjadwal jika Anda mengkonfigurasi komputer untuk TIDAK menggunakan login otomatis. Jika Anda memastikan untuk LOGO keluar sebelum Anda meninggalkan komputer untuk tidur, komputer akan keluar dari tidur pada acara WOL tanpa ada yang login.
Anda dapat menguji ini dalam tugas yang dijadwalkan dan hanya menjalankan aplikasi jika tidak ada yang masuk. Ini agak rumit karena Windows tidak menyediakan pemeriksaan yang mudah untuk ini. Pendekatan saya yang biasa untuk ini adalah menggunakan tasklist | findstr explorer
. Jika ada pengguna yang masuk, Anda akan mendapatkan 1 baris untuk setiap pengguna, karena masing-masing memiliki salinan explorer.exe yang berjalan. Tetapi jika tidak ada yang login, juga tidak ada explorer.exe yang berjalan.