You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统如何一键发送WOL魔术数据包唤醒局域网设备

Windows平台一键WOL唤醒方案

方案1:纯PowerShell原生脚本(无需第三方工具)

你之前遇到的「物理地址无效」报错是因为原脚本未做MAC地址格式兼容,以下脚本可自动处理带冒号、横杠分隔符的MAC地址:

自定义MAC通用脚本

将以下内容保存为WakeOnLAN.ps1:

param(
    [Parameter(Mandatory=$true)]
    [string]$MacAddress,
    [string]$BroadcastIP = "255.255.255.255",
    [int]$Port = 9
)

# 自动清理MAC地址分隔符
$cleanMac = $MacAddress -replace '[:-]', ''
if ($cleanMac.Length -ne 12) {
    Write-Error "MAC地址格式错误,请输入12位十六进制物理地址"
    exit 1
}

# 构造WOL魔术包:6个FF + 重复16次的MAC地址
$magicPacket = [byte[]]@(0xFF)*6 + [byte[]]($cleanMac -split '(..)' | Where-Object { $_ } | ForEach-Object { [Convert]::ToByte($_, 16) })*16

# 发送UDP广播包
$udpClient = New-Object System.Net.Sockets.UdpClient
$udpClient.Connect($BroadcastIP, $Port)
$udpClient.Send($magicPacket, $magicPacket.Length) | Out-Null
$udpClient.Close()

Write-Host "魔术包已发送至 $MacAddress ,设备将在数秒后唤醒"

运行时在PowerShell中执行:.\WakeOnLAN.ps1 -MacAddress 你的设备MAC地址即可。

固定MAC一键运行版本

如果仅需要唤醒固定设备,直接把MAC写死为你目标设备的地址,存为ps1文件即可直接运行:

# 替换下方的MAC地址为你需要唤醒的设备地址
$MacAddress = "AA:BB:CC:DD:EE:FF"
$cleanMac = $MacAddress -replace '[:-]', ''
$magicPacket = [byte[]]@(0xFF)*6 + [byte[]]($cleanMac -split '(..)' | Where-Object { $_ } | ForEach-Object { [Convert]::ToByte($_, 16) })*16
$udpClient = New-Object System.Net.Sockets.UdpClient
$udpClient.Connect("255.255.255.255",9)
$udpClient.Send($magicPacket, $magicPacket.Length) | Out-Null
$udpClient.Close()

方案2:封装为批处理文件(双击直接运行,无需修改PowerShell执行策略)

不想调整PowerShell安全策略的话,直接把以下内容保存为一键唤醒.bat,替换内部MAC地址后双击即可运行:

@echo off
:: 替换下方引号内的MAC地址为目标设备地址
powershell -Command "$MacAddress = 'AA:BB:CC:DD:EE:FF'; $cleanMac = $MacAddress -replace '[:-]', ''; $magicPacket = [byte[]]@(0xFF)*6 + [byte[]]($cleanMac -split '(..)' | Where-Object { $_ } | ForEach-Object { [Convert]::ToByte($_, 16) })*16; $udpClient = New-Object System.Net.Sockets.UdpClient; $udpClient.Connect('255.255.255.255',9); $udpClient.Send($magicPacket, $magicPacket.Length) | Out-Null; $udpClient.Close()"
echo 唤醒指令已发送
pause

注意事项

  • 目标设备需要提前在BIOS和系统网卡设置中开启WOL功能
  • 跨网段唤醒时,把广播地址替换为对应网段的广播地址,例如192.168.1.255
  • 部分路由器默认拦截UDP广播包,遇到发送后无响应的情况可检查路由器配置

内容的提问来源于stack exchange,提问作者Titus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:57:04