Send-WakeOnLan #
ÜBERSICHT #
Weckt einen PC per Wake-on-LAN (Magic Packet) anhand seiner MAC-Adresse.
SYNTAX #
Send-WakeOnLan [-MacAddress] <string[]> [[-BroadcastAddress] <System.Net.IPAddress>] [[-Port]
<int>] [[-Count] <int>] [<CommonParameters>]
BESCHREIBUNG #
Baut das Magic Packet (6x 0xFF gefolgt von 16 Wiederholungen der Ziel-MAC) und sendet es per UDP-Broadcast ins lokale Subnetz. Die MAC darf in den üblichen Schreibweisen vorliegen: AA-BB-CC-DD-EE-FF, AA:BB:CC:DD:EE:FF oder aabbccddeeff. Mehrere MACs können als Parameter oder über die Pipeline übergeben werden.
Standardziel ist der lokale Broadcast 255.255.255.255 auf UDP-Port 9. Für einen Rechner in einem ANDEREN Subnetz muss die Directed-Broadcast- Adresse dieses Subnetzes angegeben werden (z.B. 192.168.5.255) und der Router muss Directed Broadcasts weiterleiten (meist ab Werk deaktiviert).
Der sendende PC braucht keine besondere Konfiguration. Der ZIEL-PC schon:
- BIOS/UEFI: “Wake on LAN” / “Power On by PCIe” / “Resume by LAN” aktiv.
- NIC-Treiber (Geräte-Manager, Energieverwaltung): Gerät darf den Computer aktivieren und nur Magic Packet zulassen; unter Erweitert die Option “Wake on Magic Packet” aktivieren.
- Windows-Schnellstart (Fast Startup) deaktivieren, sonst scheitert WOL oft aus dem echten Ausschalten (S5).
- Standby-Strom nötig (LAN-LED bleibt an). WLAN-WOL ist unzuverlässig.
- Gleiches Subnetz bzw. gleiche Broadcast-Domäne, sonst Directed Broadcast plus Router-Konfiguration.
Ob der Zielrechner scharfgeschaltet ist, zeigt Get-MacAddress -CheckWakeOnLan (Spalte WakeArmed).
PARAMETER #
-MacAddress #
Type: string[]
Eine oder mehrere Ziel-MAC-Adressen. Trennzeichen sind egal.
-BroadcastAddress #
Type: System.Net.IPAddress
Default: [System.Net.IPAddress]::Broadcast
Broadcast-Adresse, an die gesendet wird. Standard 255.255.255.255.
-Port #
Type: int
Default: 9
UDP-Zielport. Üblich sind 9 (Standard) oder 7.
-Count #
Type: int
Default: 3
Wie oft das Paket gesendet wird (Standard 3, gegen Paketverlust).
AUSGABEN #
System.Management.Automation.PSCustomObject[]
BEISPIELE #
# PC mit dieser MAC im lokalen Subnetz wecken
Send-WakeOnLan -MacAddress 'AA-BB-CC-DD-EE-FF'
# MAC per ARP holen und in ein anderes Subnetz wecken
Get-MacAddress -ComputerName 192.168.1.50 |
Select-Object -ExpandProperty MacAddress |
Send-WakeOnLan -BroadcastAddress 192.168.1.255
HINWEISE #
Reines System.Net.Sockets (kein Windows-spezifischer Aufruf), läuft unter PowerShell 5.1 und 7+. MAC ermitteln mit Get-MacAddress.