電源オフ(休止状態も含む)状態から、ネットワーク内の別デバイスから起動する(Wake On LAN)ための専用パケットはアプリを使わずに、PowerShellのスクリプトからでも送信することができます。
Wake On LAN
電源オフの状態から、LAN上の他デバイスから起動させることができる「Wake On LAN」。マザーボードが対応している必要がありますが、離れた場所にあるパソコンをリモート接続して使いたい場合などに便利な機能です。
その仕組みは、マジックパケットと呼ばれる専用のパケットをネットワーク内に配信して、パソコンの電源を回復させます。
マジックパケットの送信
通常は「Wake On LAN」用のアプリを使って起動することが多いですが、PowerShellのスクリプトを使って送信することもできます。
出先などでアプリのダウンロードやインストールができない場合など、スクリプトを書く(コピペ)だけで済みます。
具体的な手順は
1. メモ帳を起動して、次のスクリプトをコピーします。
$macAddr=[byte[]]("XX-XX-XX-XX-XX-XX".split("-") | ForEach-Object{[Convert]::ToInt32($_, 16)});
$magicPacket=([byte[]](@(0xff)*6)) + $macAddr * 16;
$udpClient=new-object System.Net.Sockets.UdpClient;
$WakeUpTarget=[System.Net.IPAddress]::Broadcast;
$udpClient.Connect($WakeUpTarget, 9);
$udpClient.Send($magicPacket, $magicPacket.Length)|out-null;
$udpClient.Close();
Write-Output "Send MagicPacket.";
[XX-XX-XX-XX-XX-XX]の部分には、起動するコンピューターのMACアドレスを入力します。
2.[ファイル|名前を付けて保存]メニューを選択します。
3. 表示された[名前を付けて保存]画面で 拡張子(.ps1)で保存します。
4. 保存したファイルを実行します。
休止状態(または電源オフ状態)の対象パソコンの電源が復帰することができれば、操作は終了です。
実行時にエラーが発生するような場合には、スクリプトを確認します。「Visual Studio Code」などを使ってコードをチェックした方が効率的にエラーを見つけることができます。
まとめ
PowerShellスクリプトを使えば、専用アプリを使わなくてもWake On LANで必要なマジックパケットを送信することができます。
出先のパソコンや、アプリのインストールが制限されているような場合に、簡単なスクリプトでWake On LAN機能を利用することができるようになります。
Wake On LANの専用アプリで迷っている方の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。