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.
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.