Computer step by step
 Make your Pc better
Description:  

This policy setting limits the network bandwidth that Background Intelligent Transfer Service (BITS) uses for
background transfers during the work and non-work days and hours. The work schedule is defined using a
weekly calendar, which consists of days of the week and hours of the day. All hours and days that are not
defined in a work schedule are considered non-work hours.

         If you enable this setting, then you can set up a schedule for limiting network bandwidth during both
work and non-work hours. After the work schedule is defined, you can set the bandwidth usage limits for
each of the three BITS background priority levels: high, normal, and low.

         You can specify a limit to use for background jobs during a work schedule. For example, you can limit
the network bandwidth of low priority jobs to 128 Kbps from 8:00 A.M. to 5:00 P.M. on Monday through
Friday, and then set the limit to 512 Kbps for non-work hours.

         If you disable or do not configure this policy setting, BITS uses all available unused bandwidth for
background job Transfers.

Supported on: Windows 7 or computers with BITS 3.5 installed.
Set up a work schedule to limit the
maximum network bandwidth used for BITS
background transfers
Description Gpedit Regedit CMD Back VBScript PowerShell Script
Gpedit:   

Please perform the following steps:

Please go to Pearl button (Start) and click on the Search programs and files
For more information about the change from Start to Pearl button click here
Type gpedit.msc and press Enter
In the Group Policy window please navigate to Computer Configuration -> Administrative Templates ->
Network -> Background Intelligent Transfer Service (BITS) and open Set up a work schedule to limit the
maximum network bandwidth used for BITS background transfers
.
Not Configured -> is the Default state
Enabled -> apply this GPO
Disabled -> this GPO will not be applied

To finish press ok button and close Group Policy window.
Description Gpedit Regedit CMD Up Back VBScript
Type regedit and press ok
Please confirm User Account Control pop-up
Microsoft official disclaimer

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by
using another method. These problems might require that you reinstall the operating system. Microsoft
cannot guarantee that these problems can be solved. Modify the registry at your own risk.

Note: This registry key is created by Group Policy when this GPO is Enable. The GPO Default state is Not
Configured -> this registry entry is not present. For Disable this registry entry is not present.

Please navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling
and locate:
EnableBandwidthLimits registry key
IgnoreBandwidthLimitsOnLan registry key

Please navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling
\NonWorkSchedule
and locate:
HighBandwidthLimit registry key
HighBandwidthType registry key
LowBandwidthLimit registry key
LowBandwidthType registry key
NormalBandwidthLimit registry key
NormalBandwidthType registry key

Please navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling
\WorkSchedule
and locate:
EndDay registry key
EndHour registry key
HighBandwidthLimit registry key
HighBandwidthType registry key
LowBandwidthLimit registry key
LowBandwidthType registry key
NormalBandwidthLimit registry key
NormalBandwidthType registry key
StartDay registry key
StartHour registry key
Regedit:          

Please perform the following steps:

Please go to Pearl button (Start) and click on the Search programs and files
For more information about the change from Start to Pearl button click here
Description Gpedit Regedit CMD Up Back VBScript PowerShell Script PowerShell Script
   
   
Double click on EnableBandwidthLimits and edit the value:

To Enable:
Change the data value with:

EnableBandwidthLimits = 1
IgnoreBandwidthLimitsOnLan = 1

HighBandwidthLimit = 0
HighBandwidthType = 3
LowBandwidthLimit =  0
LowBandwidthType = 3
NormalBandwidthLimit = 0
NormalBandwidthType = 3

EndDay = 5
EndHour = 11
HighBandwidthLimit = 0
HighBandwidthType = 3
LowBandwidthLimit =  0
LowBandwidthType = 3
NormalBandwidthLimit = 0
NormalBandwidthType = 3
StartDay = 1
StartHour = 8

To finish press ok button and close Registry Editor window

Note: Manual editing of this registry key will not be reflected in Group Policy. If you modify this GPO from
Group Policy this registry key will be rewritten.
Description Gpedit Regedit Back CMD VBScript Up
Type cmd, right click on cmd icon under the Programs and click on Run as administrator
Please confirm User Account Control pop-up
Please select, right and copy a registry key from below, then right click on command prompt window
, select Paste and press Enter

Enabled:
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling" /v EnableBandwidthLimits /t REG_DWORD /d 1 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling" /v IgnoreBandwidthLimitsOnLan /t REG_DWORD /d 1 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v HighBandwidthLimit /t REG_DWORD /d 0 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v HighBandwidthType /t REG_DWORD /d 3 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v LowBandwidthLimit /t REG_DWORD /d 0 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v LowBandwidthType /t REG_DWORD /d 3 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v NormalBandwidthLimit /t REG_DWORD /d 0 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v NormalBandwidthType /t REG_DWORD /d 3 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v EndDay /t REG_DWORD /d 5 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v EndHour /t REG_DWORD /d 17 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v HighBandwidthLimit /t REG_DWORD /d 0 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v HighBandwidthType /t REG_DWORD /d 3 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v LowBandwidthLimit /t REG_DWORD /d 0 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v LowBandwidthType /t REG_DWORD /d 3 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v NormalBandwidthLimit /t REG_DWORD /d 0 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v NormalBandwidthType /t REG_DWORD /d 3 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v StartDay /t REG_DWORD /d 1 /f
REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v StartHour /t REG_DWORD /d 8 /f

Not Configured\Disabled:
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling" /v EnableBandwidthLimits /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling" /v IgnoreBandwidthLimitsOnLan /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v HighBandwidthLimit /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v HighBandwidthType /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v LowBandwidthLimit /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v LowBandwidthType /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v NormalBandwidthLimit /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule" /v NormalBandwidthType /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v EndDay /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v EndHour /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v HighBandwidthLimit /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v HighBandwidthType /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v LowBandwidthLimit /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v LowBandwidthType /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v NormalBandwidthLimit /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v NormalBandwidthType /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v StartDay /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule" /v StartHour /f

Note: Manual editing of this registry key will not be reflected in Group Policy. If you modify this GPO from
Group Policy this registry key will be rewritten.
CMD:          

Please perform the following steps:

Please go to Pearl button (Start) and click on the Search programs and files
For more information about the change from Start to Pearl button click here
PowerShell Script
   
Description Gpedit Regedit Back CMD VBScript Up
VBScript:          

Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")

strKeyPath1 = "SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling"
strKeyPath2 = "SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule"
strKeyPath3 = "SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule"
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath1
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath2
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath3
strValueName1 = "EnableMaintenanceLimits"
strValueName2 = "EnableMaintenanceLimits"
strValueName3 = "HighBandwidthLimit"
strValueName4 = "HighBandwidthType"
strValueName5 = "LowBandwidthLimit"
strValueName6 = "LowBandwidthType"
strValueName7 = "NormalBandwidthLimit"
strValueName8 = "NormalBandwidthType"
strValueName9 = "EndDay"
strValueName10 = "EndHour"
strValueName11 = "HighBandwidthLimit"
strValueName12 = "HighBandwidthType"
strValueName13 = "LowBandwidthLimit"
strValueName14 = "LowBandwidthType"
strValueName15 = "NormalBandwidthLimit"
strValueName16 = "NormalBandwidthType"
strValueName17 = "StartDay"
strValueName18 = "StartHour"
'Enabled
dwValue1 = 1
dwValue2 = 1
dwValue3 = 0
dwValue4 = 3
dwValue5 = 0
dwValue6 = 3
dwValue7 = 0
dwValue8 = 3
dwValue9 = 5
dwValue10 = 17
dwValue11 = 0
dwValue12 = 3
dwValue13 = 0
dwValue14 = 3
dwValue15 = 0
dwValue16 = 3
dwValue17 = 1
dwValue18 = 8
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath1,strValueName1,dwValue1
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath1,strValueName2,dwValue2
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName3,dwValue3
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName4,dwValue4
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName5,dwValue5
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName6,dwValue6
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName7,dwValue7
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName8,dwValue8
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName9,dwValue9
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName10,dwValue10
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName11,dwValue11
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName12,dwValue12
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName13,dwValue13
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName14,dwValue14
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName15,dwValue15
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName16,dwValue16
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName17,dwValue17
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName18,dwValue18
'Not Configured/Disabled
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath1,strValueName1
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath1,strValueName2
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName3
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName4
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName5
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName6
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName7
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath2,strValueName8
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName9
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName10
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName11
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName12
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName13
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName14
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName15
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName16
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName17
'oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath3,strValueName18
PowerShell Script
   
Description Gpedit Regedit Back CMD VBScript Up
PowerShell Script :          

Enabled

$RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows"
If(Test-Path ($RegKey + "\BITS"))
{
 $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS"
 If(Test-Path ($RegKey + "\Throttling"))
 {
   $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling"
   ##Enabled
   New-ItemProperty -path $RegKey -name EnableBandwidthLimits -value 1 -PropertyType DWord -Force
   New-ItemProperty -path $RegKey -name IgnoreBandwidthLimitsOnLan -value 1 -PropertyType DWord -Force
   If(Test-Path ($RegKey + "\NonWorkSchedule"))
   {
     $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule"
     New-ItemProperty -path $RegKey -name HighBandwidthLimit -value 0 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name HighBandwidthType -value 3 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name LowBandwidthLimit -value 0 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name LowBandwidthType -value 3 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name NormalBandwidthLimit -value 0 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name NormalBandwidthType -value 3 -PropertyType DWord -Force
   }
   else
   {
     New-Item -path $RegKey -name NonWorkSchedule
     $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule"
     New-ItemProperty -path $RegKey -name HighBandwidthLimit -value 0 -PropertyType DWord
     New-ItemProperty -path $RegKey -name HighBandwidthType -value 3 -PropertyType DWord
     New-ItemProperty -path $RegKey -name LowBandwidthLimit -value 0 -PropertyType DWord
     New-ItemProperty -path $RegKey -name LowBandwidthType -value 3 -PropertyType DWord
     New-ItemProperty -path $RegKey -name NormalBandwidthLimit -value 0 -PropertyType DWord
     New-ItemProperty -path $RegKey -name NormalBandwidthType -value 3 -PropertyType DWord
   }
   $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling"
   If(Test-Path ($RegKey + "\WorkSchedule"))
   {
     $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule"
     New-ItemProperty -path $RegKey -name EndDay -value 5 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name EndHour -value 17 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name HighBandwidthLimit -value 0 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name HighBandwidthType -value 3 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name LowBandwidthLimit -value 0 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name LowBandwidthType -value 3 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name NormalBandwidthLimit -value 0 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name NormalBandwidthType -value 3 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name StartDay -value 1 -PropertyType DWord -Force
     New-ItemProperty -path $RegKey -name StartHour -value 8 -PropertyType DWord -Force
   }
   else
   {
     New-Item -path $RegKey -name WorkSchedule
     $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule"
     New-ItemProperty -path $RegKey -name EndDay -value 5 -PropertyType DWord
     New-ItemProperty -path $RegKey -name EndHour -value 17 -PropertyType DWord
     New-ItemProperty -path $RegKey -name HighBandwidthLimit -value 0 -PropertyType DWord
     New-ItemProperty -path $RegKey -name HighBandwidthType -value 3 -PropertyType DWord
     New-ItemProperty -path $RegKey -name LowBandwidthLimit -value 0 -PropertyType DWord
     New-ItemProperty -path $RegKey -name LowBandwidthType -value 3 -PropertyType DWord
     New-ItemProperty -path $RegKey -name NormalBandwidthLimit -value 0 -PropertyType DWord
     New-ItemProperty -path $RegKey -name NormalBandwidthType -value 3 -PropertyType DWord
     New-ItemProperty -path $RegKey -name StartDay -value 1 -PropertyType DWord
     New-ItemProperty -path $RegKey -name StartHour -value 8 -PropertyType DWord
   }
 }
 else
 {
   New-Item -path $RegKey -name Throttling
   $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling"
   ##Enabled
   New-ItemProperty -path $RegKey -name EnableBandwidthLimits -value 1 -PropertyType DWord -Force
   New-ItemProperty -path $RegKey -name IgnoreBandwidthLimitsOnLan -value 1 -PropertyType DWord -Force
   New-Item -path $RegKey -name NonWorkSchedule
   $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule"
   New-ItemProperty -path $RegKey -name HighBandwidthLimit -value 0 -PropertyType DWord
   New-ItemProperty -path $RegKey -name HighBandwidthType -value 3 -PropertyType DWord
   New-ItemProperty -path $RegKey -name LowBandwidthLimit -value 0 -PropertyType DWord
   New-ItemProperty -path $RegKey -name LowBandwidthType -value 3 -PropertyType DWord
   New-ItemProperty -path $RegKey -name NormalBandwidthLimit -value 0 -PropertyType DWord
   New-ItemProperty -path $RegKey -name NormalBandwidthType -value 3 -PropertyType DWord
   $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling"
   New-Item -path $RegKey -name WorkSchedule
   $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule"
   New-ItemProperty -path $RegKey -name EndDay -value 5 -PropertyType DWord
   New-ItemProperty -path $RegKey -name EndHour -value 17 -PropertyType DWord
   New-ItemProperty -path $RegKey -name HighBandwidthLimit -value 0 -PropertyType DWord
   New-ItemProperty -path $RegKey -name HighBandwidthType -value 3 -PropertyType DWord
   New-ItemProperty -path $RegKey -name LowBandwidthLimit -value 0 -PropertyType DWord
   New-ItemProperty -path $RegKey -name LowBandwidthType -value 3 -PropertyType DWord
   New-ItemProperty -path $RegKey -name NormalBandwidthLimit -value 0 -PropertyType DWord
   New-ItemProperty -path $RegKey -name NormalBandwidthType -value 3 -PropertyType DWord
   New-ItemProperty -path $RegKey -name StartDay -value 1 -PropertyType DWord
   New-ItemProperty -path $RegKey -name StartHour -value 8 -PropertyType DWord
 }
}
else
{
 New-Item -path $RegKey -name BITS
 $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS"
 New-Item -path $RegKey -name Throttling
 $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling"
 ##Enabled
 New-ItemProperty -path $RegKey -name EnableBandwidthLimits -value 1 -PropertyType DWord -Force
 New-ItemProperty -path $RegKey -name IgnoreBandwidthLimitsOnLan -value 1 -PropertyType DWord -Force
 New-Item -path $RegKey -name NonWorkSchedule
 $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\NonWorkSchedule"
 New-ItemProperty -path $RegKey -name HighBandwidthLimit -value 0 -PropertyType DWord
 New-ItemProperty -path $RegKey -name HighBandwidthType -value 3 -PropertyType DWord
 New-ItemProperty -path $RegKey -name LowBandwidthLimit -value 0 -PropertyType DWord
 New-ItemProperty -path $RegKey -name LowBandwidthType -value 3 -PropertyType DWord
 New-ItemProperty -path $RegKey -name NormalBandwidthLimit -value 0 -PropertyType DWord
 New-ItemProperty -path $RegKey -name NormalBandwidthType -value 3 -PropertyType DWord
 $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling"
 New-Item -path $RegKey -name WorkSchedule
 $RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\BITS\Throttling\WorkSchedule"
 New-ItemProperty -path $RegKey -name EndDay -value 5 -PropertyType DWord
 New-ItemProperty -path $RegKey -name EndHour -value 17 -PropertyType DWord
 New-ItemProperty -path $RegKey -name HighBandwidthLimit -value 0 -PropertyType DWord
 New-ItemProperty -path $RegKey -name HighBandwidthType -value 3 -PropertyType DWord
 New-ItemProperty -path $RegKey -name LowBandwidthLimit -value 0 -PropertyType DWord
  New-ItemProperty -path $RegKey -name LowBandwidthType -value 3 -PropertyType DWord
  New-ItemProperty -path $RegKey -name NormalBandwidthLimit -value 0 -PropertyType DWord
  New-ItemProperty -path $RegKey -name NormalBandwidthType -value 3 -PropertyType DWord
  New-ItemProperty -path $RegKey -name StartDay -value 1 -PropertyType DWord
  New-ItemProperty -path $RegKey -name StartHour -value 8 -PropertyType DWord
}

Not Configured\Disabled

$RegKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows"
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\NonWorkSchedule") -name HighBandwidthLimit
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\NonWorkSchedule") -name HighBandwidthType
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\NonWorkSchedule") -name LowBandwidthLimit
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\NonWorkSchedule") -name LowBandwidthType
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\NonWorkSchedule") -name NormalBandwidthLimit
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\NonWorkSchedule") -name NormalBandwidthType
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name EndDay
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name EndHour
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name HighBandwidthLimit
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name HighBandwidthType
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name LowBandwidthLimit
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name LowBandwidthType
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name NormalBandwidthLimit
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name NormalBandwidthType
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name StartDay
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling\WorkSchedule") -name StartHour
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling") -name EnableBandwidthLimits
Remove-ItemProperty -Path($RegKey + "\BITS\Throttling") -name IgnoreBandwidthLimitsOnLan
If((Get-Item -Path($RegKey + "\BITS\Throttling\NonWorkSchedule")).ValueCount -eq 0 -and (Get-Item -Path($RegKey + "\BITS\Throttling\NonWorkSchedule")).SubKeyCount -eq 0)
{
 Remove-Item -Path($RegKey + "\BITS\Throttling\NonWorkSchedule")
}
If((Get-Item -Path($RegKey + "\BITS\Throttling\WorkSchedule")).ValueCount -eq 0 -and (Get-Item -Path($RegKey + "\BITS\Throttling\WorkSchedule")).SubKeyCount -eq 0)
{
 Remove-Item -Path($RegKey + "\BITS\Throttling\WorkSchedule")
}
If((Get-Item -Path($RegKey + "\BITS\Throttling")).ValueCount -eq 0 -and (Get-Item -Path($RegKey + "\BITS\Throttling")).SubKeyCount -eq 0)
{
 Remove-Item -Path($RegKey + "\BITS\Throttling")
 If((Get-Item -Path($RegKey + "\BITS")).ValueCount -eq 0 -and (Get-Item -Path($RegKey + "\BITS")).SubKeyCount -eq 0)
 {
   Remove-Item -Path($RegKey + "\BITS")
 }
}
Up Back PowerShell Script