PowerShell で WOL マジックパケットを送信する
以前、Wake On LAN のマジックパケットを送信する Perl スクリプトを紹介した。
コチラは主に MacOS 用ということだったが、PowerShell でも同様にマジックパケットを送信できるスクリプトを見つけた。
@Echo Off
Rem MAC アドレスを書く。2文字ごとにハイフンかコロンで区切る
Set MAC_ADDRESS=AB-CD-EF-12-34-56
Rem ハイフンで入力された場合はコロンに変換する
Set MAC_ADDRESS=%MAC_ADDRESS:-=:%
Rem マジックパケットを送信する
Powershell "$dst=[byte[]]("""%MAC_ADDRESS%""".split(""":""") | ForEach-Object{[Convert]::ToInt32($_, 16)});$magicPacket=([byte[]](@(0xFF)*6)) + $dst * 16;$client=new-object System.Net.Sockets.UdpClient;$target=[System.Net.IPAddress]::Broadcast;$client.Connect($target,9);$client.Send($magicPacket,$magicPacket.Length)|out-null;$client.Close()"
Echo マジックパケットを送信しました。
Pause
Exit /b
こんな感じで良いらしい。
コレで Windows マシンからもマジックパケットが送信できるようになった。