WOL

Bloggat, Utveckling

WOL-script till NAS

Köpt en ny NAS och knackade ihop ett enkelt Wake On Lan-script i Powershell.

Jag vill kunna fjärrstyra NASen (Network Attached Storage för att lagra filer) och starta upp den från min klient och knackade ihop ett enkelt PowerShell-script som löser detta.

Koden väcker först NASen med ett WOL-anrop.
Det tar ett tag för NASen att starta så andra delen i koden pingar tills den svarar och då får man återkoppling på att den är redo.

NN:NN:NN:NN:NN:NN byts ut till NASens MAC-adress som ofta står på en etikett på chassit.
192.168.IP3:IP4 byts ut till NASens statiska IP-adress som man anger i gränssnittet och som måste ligga utanför DHCP-intervallet i routern.

Koden lagras i en exekverbar fil på skrivbordet WOL_NAS.ps1

$NasMac = "NN:NN:NN:NN:NN:NN"
$MacByteArray = $NasMac -split "[:-]" | ForEach-Object { [Byte] "0x$_"}
[Byte[]] $MagicPacket = (,0xFF * 6) + ($MacByteArray  * 16)
$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.Connect(([System.Net.IPAddress]::Broadcast),7)
$UdpClient.Send($MagicPacket,$MagicPacket.Length)
$UdpClient.Close()

$NasIP = "192.168.IP3:IP4"
do {
  Write-Host "Pinging NAS @" $NasIP
  sleep 3
} until(Test-NetConnection $NasIP -Port 80 | ? { $_.TcpTestSucceeded } )
Write-Host "NAS is online."
sleep 5 
WOL

Wake On Lan-script för att väcka en NAS

By  -      


Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *