1つのバッチファイルからWOL(WakeOnLan)のマジックパケットを送信する方法

1つのバッチファイルからWOL(WakeOnLan)のマジックパケットを送信をする方法について記載します。
バッチファイルの内部処理でPowerShellスクリプトを使用します。PowerShellがデフォルトで対応していないWindows 7以前のOSの場合はご注意ください。

また、コマンドプロンプトやバッチファイルからPowerShellスクリプトを実行する方法の詳細についてはこちらから

バッチファイル ソースコード

:=================================
: ★ WOL送信バッチ
:=================================

:---------------------------
: ● 設定項目
:---------------------------
: MACアドレス "-"(ハイフン)区切り
set MAC=AA-BB-CC-DD-EE-FF

:---------------------------
: ● 処理
:---------------------------
powershell "$mac_addr = (\"%MAC%\"); $header=[byte[]](@(0xFF)*6); $addr = [byte[]]($mac_addr.split(\"-\") | ForEach-Object{[Convert]::ToInt32($_, 16)}); $magicpacket = $header + $addr * 16; $target = [System.Net.IPAddress]::Broadcast; $client = New-Object System.Net.Sockets.UdpClient; $client.Connect($target, 2304); $client.Send($magicpacket, $magicpacket.Length) | Out-Null; $client.Close(); Write-Host \"Send magic packet to:\" $mac_addr -ForegroundColor Green;"

設定項目について

「設定項目」の「MAC」にWOLで起動したいPCのMACアドレスを”-“(ハイフン)区切りの形式で入力してください。
上記のソースコードでは例としてMACアドレス「AA-BB-CC-DD-EE-FF」の設定をしています。

コメント

タイトルとURLをコピーしました