windows系统原生不支持直接按软件名称硬限速,但专业版及以上可通过powershell的netqospolicy命令对特定进程(如thunder.exe)实施tcp流量节流,上传或下载限速即时生效。
windows 系统本身不支持直接按“软件名称”或“进程”对下载工具(如迅雷、idm、wegame)做网卡级带宽硬限速,但可通过 基于策略的 qos(quality of service) 实现进程级流量节流——前提是使用 windows 10/11 专业版、企业版或 server 版,且系统已启用 netqos 功能。
一、确认系统支持并启用 NetQoS 基础服务
QoS 节流依赖底层网络策略引擎。请先确保:
- 以管理员身份运行 PowerShell,执行:Get-NetQosPolicy —— 若返回策略列表,说明功能就绪;若报错“命令不存在”,需先安装“QoS 策略配置”可选功能(仅限企业/教育版)或升级系统版本。
- 检查服务状态:Get-Service NetQosPolicyManager 应为 Running 状态;如未运行,执行 Start-Service NetQosPolicyManager 启动。
二、用 PowerShell 创建针对下载软件的限速策略
这是最接近“限制特定下载软件带宽”的原生方案。以限制 Chrome 浏览器下载(chrome.exe)为例,上传限速 2 Mbps,下载不限:
在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……
- 打开管理员 PowerShell,运行:
- New-NetQosPolicy -Name "Chrome_Download_Limit" -AppPathNameMatchCondition "chrome.exe" -ThrottleRateActionBitsPerSecond 2097152 -TrafficClassAction Upload
- 若要限制迅雷(Thunder.exe)下载带宽为 5 Mbps,命令为:
- New-NetQosPolicy -Name "Thunder_Download_Limit" -AppPathNameMatchCondition "Thunder.exe" -ThrottleRateActionBitsPerSecond 5242880 -TrafficClassAction Download
- 策略立即生效,无需重启。可用 Get-NetQosPolicy 查看,用 Remove-NetQosPolicy -Name "xxx" 删除。
三、关键注意事项与常见问题
该方法有明确边界,务必注意:
- 仅限 TCP 流量:UDP 类下载(如部分 P2P 协议)不受影响;策略对非标准端口或加壳进程可能失效。
- 路径匹配需精确:AppPathNameMatchCondition 匹配的是完整路径(如 C:\Program Files\Thunder Network\Thunder\Program\Thunder.exe),建议先用 Get-Process Thunder | Select Path 确认实际路径,再用通配符或简名匹配(系统支持部分模糊匹配,但不保证 100% 识别)。
- 不区分网卡:策略作用于所有接口;若需“只限无线网卡上的迅雷”,必须配合 InterfaceIndex 过滤(需额外用 Get-NetAdapter 获取索引,并在策略中加 -IPInterfaceAlias 参数),但客户端版默认不执行接口绑定逻辑,效果不稳定。
- 优先级低于路由器 QoS:局域网内其他设备或路由器自身 QoS 规则可能覆盖本机策略,建议优先在路由器端设设备级限速作为补充。
四、更可靠、更易用的替代方式
对普通用户或需精细控制(如分时段、按网卡、实时图形化)的场景,推荐以下方案:
- NetLimiter:可直观看到每个进程在每张网卡上的实时上下行速率,并直接拖拽设置上限(如“Thunder.exe 在 Wi-Fi 上下载 ≤ 8 Mbps”),支持规则导出/批量部署,适合运维落地。
- cFosSpeed:专注 TCP/IP 流量整形,内置智能队列和应用模板(含主流下载工具),对高并发小包优化更好,延迟更低。
- 路由器端限速:登录路由器后台,按电脑 MAC 地址或 IP 段设置最大带宽(如“192.168.1.100 下载限 10 Mbps”),全网通用、稳定、不依赖终端系统。










