PowerShellでWake-on-LANのマジックパケットを送信する
Powershell で Wake-on-LAN のマジックパケットを送信するスクリプトの例
code:wol.ps1
$mac = ($args0 -replace "-:")
$magicPacket = ([byte[]](0xFF,0xFF,0xFF,0xFF,0xFF,0xFF)) + (($mac.PadLeft(12,'0') -replace '(..)', '0x$1, ' -split ', ' -ne '' | ForEach-Object { byte$_ }) * 16)
$udp = New-Object System.Net.Sockets.UdpClient
$udp.Send($magicPacket, $magicPacket.Length, "255.255.255.255", 9)
$udp.Close()
使い方は以下のような感じ。Push2Runなどの他のツールから実行するといい感じにワークフローを組める。
code:powershell
./wol.ps1 AB-CD-EF-01-23-45