In diesem Artikel erkläre ich, wie du ein PowerShell-Skript nutzen kannst, um einen QNAP-Server (oder jedes andere Wake-on-LAN-fähige Gerät) im Netzwerk aufzuwecken. Dabei wird ein sogenanntes Magic Packet gesendet, das den Server aus dem Ruhezustand holt.
Voraussetzungen
- Wake-on-LAN muss im BIOS/UEFI und in den Netzwerkeinstellungen des Geräts aktiviert sein.
- Das Gerät und der Rechner, von dem aus das Skript ausgeführt wird, müssen sich im selben Netzwerk befinden.
- PowerShell (ab Version 3.0) sollte installiert sein.
Das PowerShell-Skript
Das folgende Skript verwendet die MAC-Adresse des QNAP-Servers, um ein Magic Packet an die Broadcast-Adresse des Netzwerks zu senden. Dies ist der entscheidende Schritt, um das Gerät aufzuwecken.
# Variablen für die IP-Adresse, MAC-Adresse und Port
$IpAddress = "192.168.1.10"
$MacAddress = "24:5e:00:01:02:b7"
$BroadcastAddress = "192.168.1.255" # Standard-Broadcast-Adresse im Subnetz
$Port = 9 # Standard-Wake-On-LAN-Port
# Funktion, um das Wake-On-LAN Magic Packet zu senden
function Send-WakeOnLan {
param (
[string]$MacAddress,
[string]$BroadcastAddress,
[int]$Port
)
# MAC-Adresse in ein Byte-Array umwandeln
$MacBytes = $MacAddress -split "[:-]" | ForEach-Object { [byte]("0x$_") }
# Magic Packet erstellen (6x 0xFF gefolgt von 16 Wiederholungen der MAC-Adresse)
$MagicPacket = @([byte]0xFF) * 6 + ($MacBytes * 16)
# Magic Packet via UDP senden
$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.EnableBroadcast = $true
$Endpoint = New-Object System.Net.IPEndPoint ([System.Net.IPAddress]::Parse($BroadcastAddress), $Port)
$UdpClient.Send($MagicPacket, $MagicPacket.Length, $Endpoint)
$UdpClient.Close()
Write-Output "Wake-On-LAN-Paket wurde an $MacAddress über ${BroadcastAddress}:${Port} gesendet."
}
# Wake-On-LAN senden
Send-WakeOnLan -MacAddress $MacAddress -BroadcastAddress $BroadcastAddress -Port $Port
Wie funktioniert das Skript?
Das Skript besteht aus zwei Teilen: der Definition der Funktion Send-WakeOnLan
und dem Aufruf dieser Funktion mit den festgelegten Variablen.
- MAC-Adresse: Die MAC-Adresse des Zielgeräts wird benötigt, um das Magic Packet korrekt zu adressieren.
- Broadcast-Adresse: Die Broadcast-Adresse wird verwendet, um sicherzustellen, dass das Magic Packet alle Geräte im Netzwerk erreicht.
- Port: Standardmäßig wird Port 9 verwendet, aber einige Geräte können auch Port 7 nutzen.
- Magic Packet: Es handelt sich um eine spezielle Nachricht, die 6-mal
0xFF
gefolgt von 16 Wiederholungen der MAC-Adresse enthält.
Nutzung
Speichere das Skript als .ps1
-Datei, zum Beispiel WakeOnLan.ps1
. Öffne dann PowerShell mit Administratorrechten und führe das Skript mit folgendem Befehl aus:
.\WakeOnLan.ps1
Wenn alles korrekt eingerichtet ist, wird das Magic Packet gesendet, und dein QNAP-Server sollte starten.
Fazit
Mit diesem Skript kannst du deinen QNAP-Server (oder andere Geräte) bequem per PowerShell aufwecken. Wake-on-LAN ist eine praktische Möglichkeit, Geräte effizient zu verwalten, ohne sie ständig laufen lassen zu müssen.
Hast du Fragen oder Anregungen? Schreibe sie gerne in die Kommentare!