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」の設定をしています。
コメント