
システムが手動で電源ボタンを押して起動したのか、それとも Wake-On-LAN パケットによって起動したのかを検出する方法はありますか? この値をどこかに保存してプログラムで使用することはできますか?
答え1
Windowsでは、ウェイクソースはシステムログに記録されます。WOLパケットがソースとして具体的に記録されるかどうかはわかりませんが、さまざまなシステムが存在するため、以下で説明する方法が適切ではないため、自分で試してみる必要があります。ない失敗しません。(オランダ語版の Windows を使用しているため、英語の用語がすべて正しく翻訳されていることを願っています。したがって、見つからない場合は、似たようなものを探してください! ;-))
手動の、人間的な方法:
- を見つけるシステムログWin+を押して実行ダイアログを開きます r。イベントvwr.mscそして実行します。
- 左側を開けてWindows ログその後システム。
- 右クリックシステム選択して現在のログをフィルター...
- ポップアップダイアログのイベントソース、 選択する電源トラブルシュータークリックわかりました。
これで、電源関連のログエントリがすべて一覧表示されます。いずれかをクリックすると、一般的なタブには、航跡源。
PowerShell による例:
システムログはPowerShellからアクセスできます。PowerShellの以下のコマンドは、電源に関する最新のログエントリを返します。「ウェイクソース」ニーズに合わせて調整します。(正規表現を使用してください!)
Get-EventLog "System" | Where-Object {$_.source -like "*Microsoft-Windows-Power-Troubleshooter*"} | select -first 1 | Format-List