Di Windows 10, saya ingin tahu bagaimana saya bisa tahu dalam skrip apakah sistem boot karena dihidupkan dengan menerima paket Wake-on-LAN (WoL), atau karena dihidupkan karena menekan tombol power .
Saya menemukan properti WakeUpType dari kelas Win32_ComputerSystem . Itu didokumentasikan untuk mengembalikan "peristiwa yang menyebabkan sistem menyala". Ada 9 kemungkinan nilai yang dikembalikan, salah satunya adalah "5" (artinya "LAN Remote").
Sayangnya, pada sistem saya sepertinya selalu mengembalikan "6" (artinya "Power Switch"):
PS C:\WINDOWS\system32> echo $(Get-WmiObject -class win32_computersystem).wakeuptype
6
Saya perhatikan bahwa setelah meletakkan sistem ke mode sleep dan membangunkannya menggunakan WoL, Windows memposting acara di System eventlog dengan sumber "Power-Troubleshooter" dan event ID 1, yang berisi teks:
Sumber Bangun: Perangkat -Intel (R) 82579V Koneksi Jaringan Gigabit
Juga, powercfg /lastwake
laporkan NIC sebagai alasan untuk bangun. Jadi, setidaknya ketika bangun dari tidur Windows dapat menentukan bahwa ia bangun karena paket WoL, meskipun properti WakeUpType masih mengembalikan "6" (Sakelar Daya) dalam kasus itu.
Sayangnya, ketika sistem menerima paket WoL dalam keadaan S5, ia akan hidup dengan benar dan melakukan boot, tetapi saya tidak dapat mengatakan bahwa ia melakukan booting karena WoL. powercfg /lastwake
menunjukkan output yang persis sama dengan ketika sistem dinyalakan dari S5 karena menekan tombol daya:
C:\WINDOWS\system32>powercfg /lastwake
Wake History Count - 0
Bagaimana saya bisa tahu, dari kondisi daya apa pun (hingga S5), bahwa sistem dinyalakan / bangun karena WoL?
sumber
Jawaban:
Pendekatan saya adalah menggunakan dmidecode yang akan membaca data dari BIOS, dengan sesuatu seperti
Demikian pula dengan jawaban feitingen untuk pertanyaan ini
Jika itu tidak berhasil maka perangkat keras Anda tidak boleh merekam nilai itu dengan benar.
sumber
Mungkin Anda dapat mengatur skrip (atau perangkat lunak) untuk melacak acara di PC yang MENGIRIM paket WOL.
Script ini dapat menulis sesuatu (tanggal / waktu saat ini?) Dalam suatu file di suatu tempat (pada jaringan berbagi?) Dan kemudian komputer yang baru saja bangun dapat memeriksa file bersama ini, dan menentukan apakah itu telah didukung oleh WOL paket.
sumber