This tutorial will show you how to configure a QoS group policy on Windows 2012 server.

This tutorial will show you how to limit all the HTTP connection at 50KBytes.

In our example, a web server named TECH-WEB01 will offer web pages using HTTP and HTTPS.

In our example, the web server named TECH-WEB01 will limit the speed of HTTP connections to 50KBytes.

The domain controller is running Windows 2012 R2.

The domain computers are running Windows 7 and Windows 10.

Hardware List:

The following section presents the list of equipment used to create this Windows tutorial.

Every piece of hardware listed above can be found at Amazon website.

Windows Playlist:

On this page, we offer quick access to a list of videos related to Windows.

Don't forget to subscribe to our youtube channel named FKIT.

Windows Related Tutorial:

On this page, we offer quick access to a list of tutorials related to Windows.

Tutorial - Creating the Active Directory Structure

The following tasks were executed on a domain controller running Windows 2012 R2 with Active directory.

Click on the Start menu, locate and open the Active Directory Users and Computers screen.

Active Directory users and Computers

On the Active Directory Screen, Right-click the domain name.

Select the option to create a new organizational unit.

Active Directory Organizational unit

In our example, the new organizational unit was named: QoS

Active Directory QoS

Now, you need to move the desired computer to the QoS organizational unit.

Active directory move computer

In our example, we moved the web server named TECH-WEB01 to the QoS organizational unit.

Active Directory Qos Configuration

Tutorial - Creating the QoS GPO

The following tasks were executed on a domain controller running Windows 2012 R2 with Active directory.

Click on the Start menu, locate and open the Group Policy Management tool.

Windows 2012 - Group Policy Management

On the Group Policy Management screen, locate the folder named Group Policy Objects.

Right-click the Group Policy Objects folder and select the New option.

Windows 2012 New GPO

Enter a name for your new policy.

GPO - Create QoS Traffic Shaping

In our example, the new GPO was named: QOS - LIMIT HTTP 50KBYTES

On the Group Policy Management screen, expand the folder named Group Policy Objects.

Right-click your new Group Policy Object and select the Edit option.

Qos Edit GPO

On the group policy editor screen, you will be presented to User configurations and Computer configurations.

We will change only the Computer configurations.

We don't need to change any User configuration.

On the group policy editor screen, expand the Computer configuration folder and locate the following item.

•  Computer Configuration > Policies > Windows Settings > Policy-based QoS

Policy-based QoS

Right-click the Policy-based QoS object and select the option: Create New Policy.

On the new screen, you need to perform the following configuration:

• Policy Name:  QOS - LIMIT HTTP 50KBYTES
• Specify DSCP Value - NO
• Specify Outbound Throttle Rate: 50 KBps

Policy-based QoS outbound Throttle

On the next screen, select the option named: This QoS policy applies to All applications.

Windows Qos All Applications

On the next screen, you need to perform the source or destination IP address configuration.

In our example, we kept the default configuration and clicked on the Next button.

Windows Qos Source and Destination

Now, you need to specify the type of communication that must have the bandwidth limited.

In our example, we need to limit the communication from the Web server to any client.

The web server uses the TCP protocol and the 80 source port.

Windows Qos limit output

Click on the Finish button.

To finish the group policy creation you need to close the Group policy editor window.

Only when you close the group policy window, the system will save your configuration.

Tutorial - Applying the QoS GPO

You have finished the creation of the QoS GPO.

But, you still need to enable the use of your new Group Policy.

On the Group policy management screen, you need to right-click the Organizational Unit desired and select the option to link an existent GPO.

Qos Link an existing GPO

In our example, we are going to link the group policy named QOS - LIMIT HTTP 50KBYTES to the organizational unit named QoS.

After applying the GPO you need to wait for 10 or 20 minutes.

During this time the GPO will be replicated to other domain controllers that you might have.

After waiting 20 minutes, you should reboot the QoS client computer.

During the boot, the computer will get and apply a copy of the new QoS group policy.

After rebooting the client computer, open a POWERSHELL command prompt.

Use the following command to check if the QoS group policy was applied.

# Get-NetQosPolicy -PolicyStore ActiveStore

Name : QoS - limit http 50kbytes
Owner : Group Policy (Machine)
NetworkProfile : All
Precedence : 127
IPProtocol : TCP
IPSrcPortStart : 80
IPSrcPortEnd : 80
ThrottleRate : 409.6 KBits/sec

Use the following POWERSHELL command to display detailed information related to your QoS Group policy.

In our example, the new GPO was named: QOS - LIMIT HTTP 50KBYTES

# Get-NetQosPolicy -PolicyStore ActiveStore -Name "qos - limit http 50kbytes" | Format-List -Property *

User :
AppPathName :
Template : None
NetDirectPort : 0
IPProtocol : TCP
IPPort : 0
IPSrcPrefix :
IPSrcPortStart : 80
IPSrcPortEnd : 80
IPDstPrefix :
IPDstPortStart : 0
IPDstPortEnd : 0
URI :
URIRecursive : False
PriorityValue : -1
DSCPValue : -1
MinBandwidthWeight : 0
ThrottleRate : 409600
NetworkProfile : All
TemplateMatchCondition : None
UserMatchCondition :
AppPathNameMatchCondition :
NetDirectPortMatchCondition : 0
IPProtocolMatchCondition : TCP
IPPortMatchCondition : 0
IPSrcPrefixMatchCondition :
IPSrcPortStartMatchCondition : 80
IPSrcPortEndMatchCondition : 80
IPDstPrefixMatchCondition :
IPDstPortStartMatchCondition : 0
IPDstPortEndMatchCondition : 0
URIMatchCondition :
URIRecursiveMatchCondition : False
PriorityValue8021Action : -1
DSCPAction : -1
MinBandwidthWeightAction : 0
ThrottleRateAction : 409600
Caption :
Description :
ElementName : qos - limit http 50kbytes
InstanceID : {382ACFAD-1E73-46BD-A0A0-64EE0E587B95}\qos - limit http 50kbytes\ActiveStore
Name : qos - limit http 50kbytes
Owner : Group Policy (Machine)
Precedence : 127
Version :
PSComputerName :
CimClass : ROOT/StandardCimv2:MSFT_NetQosPolicySettingData
CimInstanceProperties : {Caption, Description, ElementName, InstanceID...}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties

To test the configuration, you need to try to download a large file from the web server.

If you are using the HTTP protocol, the QoS GPO should limit the file download to a maximum of 50 KBytes.

If you are using the HTTPS protocol, the QoS GPO should not limit the file download speed.

Windows QoS Test

Maybe you are wondering how to create a QoS policy without using a Group Policy Configuration.

Use the following POWERSHELL command to limit the HTTP protocol output to 50 KBytes.

Keep in mind that 50 KBytes is the equivalent to 400 KBits.

# New-netqospolicy -Name 'HTTP' -IPPort 80 -IPProtocol TCP -ThrottleRateActionBitsPerSecond 400KB

Use the following POWERSHELL command to remove the QoS group policy previously created.

# Remove-NetQosPolicy -Name "HTTP"

Congratulations! You are now able to create QoS on Windows.