Cannot set DSCP on Windows 10 Pro via group policy

Setting 'policy based QoS' on Windows 10 does not apply the DSCP value to outgoing traffic. I want to be able to set the value of DSCP traffic for certain processes.

Using gpedit.msc group policy editor, I created a policy under Computer configuration > Windows Settings > Policy-based QoS > and set a DSCP value of '10'. I tried with or without an executable name. Whatever I do, looking at the traffic in NetMon shows a DSCP value of 0.

This worked under Windows 7 after applying the 'do not use NLA' registry key https://support.microsoft.com/en-gb/kb/2733528

However, even with this added, the DSCP is always 0.

Policy settings

Netmon showing DSCP still zero

Do not use NLA registry setting


Solution 1:

The QoS policy created by gpedit only creates policies for the "domain" network profile. To create a policy for a different network profile, use the cmdlet New-NetQoSPolicy. Be aware that in Win10 1709, QoS policies created via PowerShell cannot be viewed, edited, nor deleted via gpedit.

That said, I was only able to get the QoS policy to tag packets in a properly configured domain. No matter what I tried, I could not get my Win10 machine (and the NLA service) to recognize it should be using the domain network profile. Fortunately, another developer noticed that my DNS was not configured with a reverse lookup zone. After resolving that issue, the QoS tagging worked on both my Win10 and Win7 clients.