Powershell 實現遠程喚醒

Powershell實現遠程喚醒,遠程喚醒需要被喚醒的電腦支持遠程喚醒,需要關閉電腦的睡眠、支持遠程喚醒,可通過BIOS設置。

遠程喚醒時向網絡中發送UDP的數據包,數據包前兩個字節爲0xFF,後面緊接着是被喚醒設備的MAC地址重複16遍,整個包的長度是102個字節

具體的Powershell腳本如下

param($Mac)
echo “Wake up $Mac ”

$byteArray =[Byte[]](,0x00*102)
for($i=0;$i -lt 6; ++$i)
{
    $byteArray[$i]=0xFF
}

$mac= $Mac.split('-')|foreach{('0x'+$_)}

for($i=1;$i -le 16; ++$i)
{
    for($j=0;$j -lt 6;++$j)
    {
        $byteArray[$i*6+$j]=$mac[$j]
    }
}
$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.Connect(([System.Net.IPAddress]::Broadcast) ,9)
$UdpClient.Send($byteArray,$byteArray.length)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章