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

如何使用PowerShell启用网卡的“仅允许魔术数据包唤醒计算机”复选框?

如何使用PowerShell启用网卡的“仅允许魔术数据包唤醒计算机”复选框?

我明白你的困扰——明明脚本没报错,但UI里的复选框就是没变化,确实挺让人头疼的。你原来的思路方向是对的,但那个“仅允许魔术数据包唤醒计算机”的复选框,其实对应着更严谨的设置逻辑,不是只改两个参数就能搞定的,我来给你说两种靠谱的解决办法:

方法一:完善Set-NetAdapterPowerManagement的参数设置

这个复选框的本质是只保留“魔术数据包唤醒”功能,彻底禁用所有其他唤醒触发器。你原来只禁用了模式匹配,但可能还有其他唤醒选项在后台启用着,导致UI的复选框没被触发。

你可以试试这个完整的脚本,把所有非魔术数据包的唤醒选项都禁用:

$macAddress = "XX-XX-XX-XX-XX-XX"
$adapter = Get-NetAdapter | Where-Object { $_.MacAddress -eq $macAddress -and $_.Name -eq "Ethernet" }

# 仅启用魔术数据包唤醒,禁用所有其他唤醒触发项
Set-NetAdapterPowerManagement -Name $adapter.Name `
    -WakeOnMagicPacket Enabled `
    -WakeOnPattern Disabled `
    -WakeOnLink Disabled `
    -WakeOnMediaDisconnect Disabled `
    -WakeOnRing Disabled

如果你的网卡还有其他特殊的唤醒选项,可以先运行Get-NetAdapterPowerManagement -Name $adapter.Name查看当前所有设置,把额外的选项也一并禁用。

方法二:调用专用CIM方法(更精准对应UI选项)

其实Windows有个专门的CIM类方法,直接对应这个复选框的设置,逻辑上更精准,也更不容易出问题:

$macAddress = "XX-XX-XX-XX-XX-XX"
$adapter = Get-NetAdapter | Where-Object { $_.MacAddress -eq $macAddress -and $_.Name -eq "Ethernet" }

# 获取网卡对应的电源管理CIM实例
$powerMgmtInstance = Get-CimInstance -ClassName Win32_NetworkAdapterPowerManagement `
    -Filter "InstanceID='$($adapter.InstanceID)'"

# 调用专用方法启用“仅允许魔术数据包唤醒”
Invoke-CimMethod -InputObject $powerMgmtInstance -MethodName EnableWakeOnMagicPacketOnly

注意事项

别忘了以管理员身份运行PowerShell哦!虽然修改时没报错,但权限不足也可能导致设置没有真正应用到系统里。运行完脚本后,你刷新一下网卡电源管理界面,那个复选框应该就乖乖被勾选上了。

备注:内容来源于stack exchange,提问作者EllipticalInitial

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 10:18:03