You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用PowerShell New-NetQosPolicy创建QoS策略后无法生效且组策略编辑器读取出错的问题求助

PowerShell New-NetQosPolicy创建QoS策略后无法生效且组策略编辑器读取出错的问题求助

大家好,我最近在做一个自动生成QoS策略的工具,目标是用PowerShell的New-NetQosPolicy命令给特定应用(比如Firefox)限制带宽,我是通过C++脚本调用这个命令来执行的,但遇到了两个棘手的问题,希望各位能帮忙分析下:

我的操作细节

我用的PowerShell命令是:

New-NetQosPolicy -Name firefox.exe -AppPathNameMatchCondition "firefox.exe" -ThrottleRateActionBitsPerSecond 5MB -IPProtocolMatchCondition Both -NetworkProfile All

对应的C++执行代码片段如下:

//create QoS policy
std::string command = "powershell New-NetQosPolicy -Name " + appName + " -AppPathNameMatchCondition \"" + appName + "\" -ThrottleRateActionBitsPerSecond " + std::to_string(bandwidthLimit) + "MB -IPProtocolMatchCondition Both -NetworkProfile All";

std::cout << command << std::endl;

system(command.c_str());

qosNames.push_back(appName);

std::cout << "Bandwidth limit applied for " << appName << ": " << bandwidthLimit << " Kbps" << std::endl;

当前现象

运行完命令后,我用Get-NetQosPolicy命令查看,能看到这个策略,配置看起来完全没问题:

Name: firefox.exe
Owner : Group Policy(Machine)
NetworkProfile : All
Precedence : 127
AppPathName : firefox.exe
JobObject :
IPProtocol: Both
ThrottleRate : 5.243 MBits / sec

但问题来了:

  1. 这个QoS策略根本没生效,Firefox的带宽完全没被限制;
  2. 我打开组策略编辑器查看时,点击策略标签会弹出错误提示:"Errors while reading policies from this GPO, not all policies are displayed."

补充一下:如果我手动在系统里配置QoS策略,是能正常生效的,完全没问题。

我的需求

希望有人能帮忙解决这个问题,或者告诉我怎么用注册表编辑的方式创建这类QoS策略,也非常想知道为什么会出现这种情况。另外测试时的事件日志自定义视图我已经附上了,里面包含了用上述命令创建QoS的完整过程。

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

火山引擎 最新活动