FIXING THE BACKGROUND INTELLIGENT TRANSFER SERVICE (BITS) (Repost from Pale Musings blog)

First off, I’d like to get the joke out of the way that BITS is a bit of an oxymoron sort of like Army Intelligence….ba dah ba!

OK, now that I’ve got that out of my system, I have to say that this has been one heck of a problem to solve, and that the search-ability of this topic is fairly low.

My problem arose a while back when my Windows Automatic Updater stopped updating automatically. At first it was not a big deal, I would simply use my browser to go to the Microsoft Update site on a regular basis. While this is a fine solution for me, I realize that for a large majority it is not.

I recently decided to install the Google Pack since I wanted some of the Google Software it contained and did not feel like tracking down the stand alone installers. After installing the “Google Updater” the software would tell me that the “Background Intelligent Transfer Service failed to start”. Looking in the Event Viewer I was presented with this information from the System log.

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7023
Date: 2/13/2008
Time: 7:21:39 AM
User: N/A
Computer: JOEL2
Description:
The Background Intelligent Transfer Service service terminated with the following error:
The system cannot find the file specified.

Not very informative and, unfortunately, searching for that event ID and other bits of information was not very fruitful.

I finally came across the post How To Fix Windows Update (BITS/AU) after quite a bit of searching. Reading through this fine article by Mike I quickly realized just how many things can go wrong with BITS.

I began going through the list of things to try, of course verifying first if I needed to do a particular step. In step 2 there is a registry file to down and merge to try to fix the problem. I opened the file and looked through each setting to see if I needed to do it. It turned out that there was 1 setting I was missing. Parameters key was missing completely. Here is the part of the registry file that I ended up merging which fixed my BITS problem.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesBITSParameters]
“ServiceDll”=hex(2):43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,71,00,6d,00,
67,00,72,00,2e,00,64,00,6c,00,6c,00,00,00

The ServiceDll value, converted to ASCII, is C:WINDOWSsystem32qmgr.dll

After merging this my service started up and Google Updater worked great.  Thanks for the article, Mike!

Post navigation

37 thoughts on “Fixing the Background Intelligent Transfer Service (BITS)”

  1. Excellent Post. Had same problem and the Registry entry fixed the problem.
    Note: When pasting the key into a text file, I had to replace the ” symbol!

  2. This was a fantastic and quick help, as I was blocked badly by this problem today. Your post was my first Google hit, your advice was clear and to the point, and it got me going right away.

    One variation on my system:
    HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesBITSParameters already had the correct entry.

    However, I looked at
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesBITSParameters and found that it was missing from there.

    I added the entry as you described, and BITS started up easily after that, and MS Updates could once again resume.

    Again, thanks!

  3. I have the same issue. Tried the advice given on Microsoft’s page, but it the BITS still doesn’t show up on the list of services. So, while I understand there is obviously something missing….I don’t quite understand how to get it back. Where do I type in the entry that you all show? Please help. Thanks.

  4. Gerry,

    I simply downloaded the registry file from the site linked to above. Once you have it, you can double click on it and your system will ask you if you want to merge it into your registry. That saves having to type it in.

  5. Castlecops seems to be down now indefinitely. You won’t happen to have the registry file available anymore would you?

    I was hit by some kind of trojan and malware that disabled my AU and BITS. I’ve now got AU working but BITS isn’t. It’s likely that the lack of a Parameters (all I see are Enum and Security) on my regedit is what’s keeping it from working.

  6. I’ve looked on my registry editor, and the Binary files are both in the control001 and currentcontrol, but I can’t go onto any Microsoft-related items e.g. Halo 2, Windows Update etc. My Xbox 360 can connect fine to Xbox LIVE, but this computer can’t. The error displayed when attempting to start BITS is the 193: oxc1 error. Amy help?

  7. I had this issue on a PC that was cleaned of viruses. After hours of searching for a solution I searched the registry for the word BITS and found 2 instances of a path where the word %SystemRoot% had been changed to %fystemRoot%. This prevented BITS from finding the specified file.

    • Thanks for the tip Rob! Would you mind sharing which registry keys those were (if you still have them written down somewhere) for others to see? Since the CasleCops site has went off-line it’s been hard to find good information about fixing the problem.

    • I just want to say thank you to all of you who actually take the time to post on issues you’ve had.

      THANKS ROB! I also had this happen after I cleaned a Trojan of my machine. I was also getting Buffer Overflow errors that Mcafee kept prompting me saying it was blocking these. After looking further I also found where %SystemRoot% had been changed to %fystemRoot%. Thanks

  8. I noticed that 4 registries in the BITS had @%SystemRoot%, so I removed the @ from them but it still has done nothing. I can access the live.com site, but nothing else related to microsoft eg. support, GFW-LIVE. I don’;t have any firewalls blocking BITS and Windows Defender has allowed it through, the COM Host is also not functioning as well which could be the source of the error since BITS relies on that. I’ve tried Live Messenger too, but no luck 😦. If the registry keys could be found I would be very grateful, I really want to earn some more achievements on Halo 2 lol 😛.

  9. I fixed my BITS couldn’t not start issue by searching the registry for BITS and changing the %fystemRoot% to %SystemRoot% and this fixed BITS. Thanks for the help.

    • I finally got access to windows update and could not install updates. Microsoft solutions left me with a “system cannot find file” error for finding the background intelligent transfer service. Searched the registry for Bits and found a single %fystemroot% item.
      Changed it to %Systemroot% and updates work like a charm.
      (it might be faster to search for %fystemroot%
      Thanks

  10. It’s really great. I searched through the web for tons of answers but still do not work. Sucks!!
    Finally I found out your page by searching Background Intelligent Transfer Service 7023 in google and got the answers. Yeah !!!

    Btw, I think that my BITS problem may due to some Trojan/virus problem (Anyone has more idea regarding this?). At the first glance, my registry’s ServiceDll value was being blocked which is not able to be changed by Administrator. I’ve to add the Admin access to the parm value before I can make the change. Also, in my case ServiceDll has been changed to a invalid dll (like Ffjjr.dll), i.e. the service cannot be started.

  11. Rob, you just saved my ass. Sure enough the parent BITS folder of the one posted above (in CurrentControlSet) had %fystem instead of %System! Thanks!

  12. How do I get to the registry to search for BITS? I need a step by step tutorial because I have no idea. BITS doesn’t exist in the list of services at all on my computer. Can someone help me out? I have 32 bit vista

    • Kadija, if you do not know how to view and edit registry settings, I strongly recommend that you find somebody who is comfortable with performing these actions. Modifying the registry can have catastrophic consequences on your system if not done properly.

  13. I also cannot install windows update. This is so aggravating. I recently installed Office 2007 and I couldn’t update since.

  14. Just wanted to say thank you for this article. I have spent the last 20 hours or so trying to fix my niece’s laptop that she filled with trojans and malware. There were so many registry problems with it and I think that this problem with BITS is the last thing that I had to fix.

    My problem was a little bit different than yours. The path in her registry was listed as %fystemroot% not %SystemRoot% like it should be. I just changed that and it works fine now.

    Ohh… and the link to the article you mentioned that has the registry file for download is broken.

  15. I had the same problem with the ImagePath set to

    %fystemRoot%System32svchost.exe -k netsvcs

    for two BITS and two wuauserv entries in the registry.

    But in addition, the “Full Control” permissions for administrators had been removed for all four entries, so I had to grant those first by right clicking the BITS and wuauserv entries.

    Does anybody know which trojan is doing this?

    • At least 1 that’s been reported to do this is Malware-WSOCK.SYS. It’s likely that more than one use this tactic however given the number of times it seems to be coming up here.

  16. thanks u save my ass, i looked over 1 day for solution
    %fystemRoot%System32svchost.exe -k netsvcs

    thats was trojan , damn him , after changing to %System all was working great !!

    thanks !thanks !thanks !thanks !thanks !

  17. That was awesome! I had spent a couple of days searching for an answer and I had tried numerous suggestions until stumbling on this site.

    Adding…

    HKLMSYSTEMControlSet001ServicesBITSParameters
    ServiceDll REG_EXPAND_SZ C:WINDOWSsystem32qmgr.dll

    …to the registry was all it took! I was missing the Parameters entry completely and all I had was the Enum and Security entries in my registry.

    Thanks again!

  18. I have the exact same problem. I’ve read through this whole page and everything else I could get my hand on from the internet…but since castlecops is down I wasn’t able to get the registry key…

    I tried to add in the one that Chris F gave, namely:

    “HKLMSYSTEMControlSet001ServicesBITSParametersServiceDll REG_EXPAND_SZ C:WINDOWSsystem32qmgr.dll”

    but I’m not sure if I did it correctly because I went back to Services in the Administrative Tools and tried to start BITS but it couldn’t find the specified file again. I too didn’t have Parameters in my registry, only Enum and Security…but again, I don’t know if I edited the registry correctly as it is my first time…I know that it’s potentially dangerous if I don’t know what I’m doing but I think I can do it on my own…If you could just walk me through it though since you just got yours fixed 3 days ago and you seemed to have the exact same problem that I have…that would be fantastic as I’ve now had this problem for months!

    Thanks

  19. In my case I had conficker worm.

    I exported these keys from a known working machine, then imported on the broken machines. After this I started the BITS and Windows AutoUpdate Services and all was well:

    HKLMSystemControlSet001ServicesBITS
    HKLMSystemCurrentControlSetServicesBITS
    HKLMSystemControlSet001ServicesWUAUSERV
    HKLMSystemCurrentControlSetServicesWUAUSERV

    Mark

  20. Below are the files that were changed on my machine by a Trojan acording to McAfee. Tooke me forever to get rid of the thing.
    Many thanks for the super article and comments. Required reading..

    HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesBITS (ImagePath=%fystemRoot%System32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMControlSet002Serviceswuauserv (ImagePath=%fystemroot%system32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMControlSet003ServicesBITS (ImagePath=%fystemRoot%System32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMControlSet003Serviceswuauserv (ImagePath=%fystemroot%system32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMControlSet004ServicesBITS (ImagePath=%fystemRoot%System32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMControlSet004Serviceswuauserv (ImagePath=%fystemroot%system32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesBITS (ImagePath=%fystemRoot%System32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceswuauserv (ImagePath=%fystemroot%system32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMcontrolset001ServicesBITS (ImagePath=%fystemRoot%System32svchost.exe -k netsvcs)
    HKEY_LOCAL_MACHINESYSTEMcontrolset001Serviceswuauserv (ImagePath=%fystemroot%system32svchost.exe -k netsvcs)

  21. sorry that I’m not good at English(I’m Korean)

    I didn’t fix my problem about BITS

    even I typed ” C:WINDOWSsystem32qmgr.dll”

    But I found this

    HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesBITSImagepath”%fystemRoot%system32svchost.exe -k netsvcs”

    I chaged Image path value to””%fystemRoot%system32svchost.exe -k netsvcs”

    finally It works well

    Thank you so much for your hint

    ^-^

  22. Same problem, used Mark’s tip, exported from another computer win 7 but different version, worked great .
    Thanks
    George

  23. BITS does not appear in Services List – Windows 7 32 bit
    BITS service was missing and not in registry. Was able to locate the key using regedit on a working machine with the same OS. Right clicked on the BITS key and selected export, saved the file to a usb. Opened regedit on sick machine and imported the key and all was fine.

Advertisements

BITS 2.0 Auditing (MS Blog)

Auditing BITS 2.0 Settings

TechNet Archive

13 Apr 2006 12:28 AM

Tim Mintner

SMSUtils has a great tool to audit and report on your BITS 2.0 settings for your SMS 2003 Advanced Clients.  You can download the tool from here: http://www.smsutils.com/CommunityDownloads/tabid/58/Default.aspx

Here is some background information that I wrote up about the tool a few months ago:

BITS (binary intelligent transfer service) is the technology that SMS uses to determine if a client is connected via a slow link to the SMS server.  If BITS is not configured then the client assumes that it can consume all available bandwidth when downloading software packages or running SMS inventory.  There Active Directory Group Policy settings that can be set to configure BITS throttling.  This scan tool will verify those settings.

In order to manage BITS throttling settings, BITS 2 must be installed.  BITS 2 is included with Windows XP SP2.  For Windows XP Sp1 systems, Microsoft patch KB842773 must be installed.

With BITS 2, it is possible to manage BITS through five registry entries.  These entries are:

[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsBITS]

“EnableBITSMaxBandwidth”

“MaxTransferRateOnSchedule”

“MaxBandwidthValidFrom”

“MaxBandwidthValidTo”

“MaxTransferRateOffSchedule”

Here is a breakdown of these registry entries:

  • EnableBITSMaxBandwidth – Values 0 or 1.  Turns on BITS throttling
  • MaxTransferRateOnSchedule – Configures the Maximum amount of bandwidth that BITS can use during working hours.  This is configured in Kb/s
  • MaxBandwidthValidFrom – The time when you want the maximum amount of BITS throttling to start.  The time should be entered in 24 hour format
  • MaxBandwidthValidTo – The time when you want the maximum amount of BITS throttling to end.  The time should be entered in 24 hour format
  • MaxTransferRateOffSchedule – The maximum amount of bandwidth that BITS should use during non working hours.  This is configured in Kb/s

These registry settings can also be managed through Group Policy.  In order to manage BITS through Group Policy, the Windows XP SP2 group policy templates need to be installed.

The Group Policy settings for BITS are located at: Computer Configuration, Administrative Templates, Network, Background Intelligent Transfer Service.

There are two settings that can be applied:

  • Maximum network bandwidth that BITS uses
  • Timeout (days) for inactive jobs

The BITS audit tool checks for several settings.  It will check the Service Pack Level of your Windows XP Systems.  If the system is running Windows XP SP1, it will check to see if KB842773 is installed.  The BITS audit tool will also gather all of the information inside of the BITS registry keys.

There are three reports available to you:

  1. BITS Settings by Collection – Click on the Values button and choose the Collection that contains your remote site. Click on Display to displey the report
  2. Computers that do not have BITS throttling enabled – This is a report showing all machines within your Collection that do not have BITS throttling turned on, that is they are using all available bandwidth.  Please note that only remote sites currently have BITS throttling enabled.
  3. Computers that do not have the BITS patch Installed – This report shows machines with Service Pack 1 that do not have the BITS patch installed.

BITS PEER CACHING

BITS Peer Caching – many clients only one Windows Update download – WSUS optimization

Posted on February 1, 2009 |

Source: Upwards in Small Business – SBSisyphus

Inside the WSUS 3.0 SP2 Operations Guide document in Appendix E (p123) I found this very cool nugget.  This applies to WSUS deployments where updates are not downloaded, stored, and distributed locally.

Assuming all the clients are online and scheduled to query and sync for Windows Updates (WSUS, WU, MU) together you could greatly benefit from only downloading a patch once.  For my peers in Australia who pay for bandwidth used this may be quite valuable.

Peer caching

Peer caching is a new feature of BITS 3.0 that allows peers (computers within the same subnet of a network that have the peer caching feature enabled) to share files. If peer caching is enabled on a computer, the Automatic Update agent instructs BITS to make downloaded files available to that computer’s peers as well.

When the files have been downloaded, BITS caches them. When another (peer caching-enabled) computer tries to download the same update, BITS on that computer sends a multicast request to all of that computer’s peers. If one or more of the peers responds to the request, BITS will download the file from the first computer to respond. If the download from the peer fails or take too long, BITS continues the download from the WSUS server or Microsoft Update.

This feature of BITS can optimize the bandwidth used by WSUS in several ways.

  1. Peer caching decreases the amount of data transferred from the WSUS server to its clients, because computers in the same subnet will usually download the updates from each other.
  2. Peer caching decreases the amount of data transferred across the WAN when some or all of the clients of a WSUS server are located in different locations.
  3. Peer caching decreases the amount of data transferred across the Internet if WSUS clients in the same subnet are configured to download updates from Microsoft Update.

Note

BITS peer caching requires computers to be running Windows Vista or Windows Server 2008, and to be part of an Active Directory Domain.

For more information about peer caching and peer servers, see Peer Caching(http://go.microsoft.com/fwlink/?LinkId=79432).

To enable peer caching (on Windows Vista)

  1. Start the Group Policy Object Editor (click Start, click Run, and then type gpedit.msc).
  2. Expand Computer Configuration, then Administrative Templates, then Network, then Background Intelligent Transfer Service.
  3. Enable the Allow BITS Peercaching setting.
  4. Enable the Maximum network bandwidth used for Peercaching setting, and set the maximum bandwidth in bits per second (the default is 104857), then click OK.
  5. Enable the Limit the BITS Peercache size setting, and set the percentage of disk space to be used for the peer cache (the default is 5 percent), and then click OK.
  6. Enable the Limit age of items in the BITs Peercache setting, and set the number of days (the default is 90), and then click OK.

Note

You must be an administrator to perform this procedure.

**author note**  besides modifying the applicable GPO on Vista you could also do this from a Server 2008 server.  Vista is the first client OS to provide domain scope GPO management

Source: Limit the maximum network bandwidth for
BITS background transfersscription:  Computer step by step
 Make your Pc better


This policy setting limits the network bandwidth that Background Intelligent Transfer Service (BITS) uses for
background transfers. (This policy setting does not affect foreground transfers.)

       You can specify a limit to use during a specific time interval and at all other times. For example, limit the
use of network bandwidth to 10 Kbps from 8:00 A.M. to 5:00 P.M., and use all available unused bandwidth
the rest of the day’s hours.

       If you enable this policy setting, BITS will limit its bandwidth usage to the specified values. You can
specify the limit in kilobits per second (Kbps). If you specify a value less than 2 kilobits, BITS will continue to
use approximately 2 kilobits.
To prevent BITS transfers from occurring, specify a limit of 0.

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

       Note: You should base the limit on the speed of the network link, not the computer’s network interface
card (NIC). This policy setting does not affect Peercaching transfers between peer computers (it does affect
transfers from the origin server); the “Limit the maximum network bandwidth used for Peercaching” policy
setting should be used for that purpose.

       Consider using this setting to prevent BITS transfers from competing for network bandwidth when the
client has a fast network card (10Mbs), but is connected to the network via a slow link (56Kbs)

Supported on: Windows XP SP2 or Windows Server 2003 SP1, or computers with BITS 2.0 installed.
Limit the maximum network bandwidth for
BITS background transfers

DescriptionGpeditRegeditCMDBack

VBScriptPowerShell 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 Limit the maximum network
bandwidth 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.

DescriptionGpeditRegeditCMDUpBack

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_MACHINESOFTWAREPoliciesMicrosoftWindowsBITS and locate
EnableBITSMaxBandwidth registry key
MaxBandwidthValidFrom registry key
MaxBandwidthValidTo registry key
MaxTransferRateOffSchedule registry key
MaxTransferRateOnSchedule registry key
UseSystemMaximum 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

DescriptionGpeditRegeditCMDUpBack

VBScriptPowerShell ScriptPowerShell Script

   
   
Double click on EnableBITSMaxBandwidth and edit the value:

To Enable:
Change the data value with:

EnableBITSMaxBandwidth = 1
MaxBandwidthValidFrom = 8
MaxBandwidthValidTo = 11
MaxTransferRateOffSchedule = 14
MaxTransferRateOnSchedule = a
UseSystemMaximum = 1

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.

DescriptionGpeditRegeditBackCMD

VBScriptUp

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 “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v EnableBITSMaxBandwidth /t REG_DWORD /d 1 /f
REG add “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v MaxBandwidthValidFrom /t REG_DWORD /d 8 /f
REG add “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v MaxBandwidthValidTo /t REG_DWORD /d 17 /f
REG add “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v MaxTransferRateOffSchedule /t REG_DWORD /d 20 /f
REG add “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v MaxTransferRateOnSchedule /t REG_DWORD /d 10 /f
REG add “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v UseSystemMaximum /t REG_DWORD /d 1 /f

Not ConfiguredDisabled:
REG DELETE “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v EnableBITSMaxBandwidth /f
REG DELETE “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v MaxBandwidthValidFrom /f
REG DELETE “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v MaxBandwidthValidTo /f
REG DELETE “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v MaxTransferRateOffSchedule /f
REG DELETE “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v MaxTransferRateOnSchedule /f
REG DELETE “HKLMSOFTWAREPoliciesMicrosoftWindowsBITS” /v UseSystemMaximum /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

   

DescriptionGpeditRegeditBackCMD

VBScriptUp

VBScript:

Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = “.”
Set oReg=GetObject(“winmgmts:{impersonationLevel=impersonate}!\” & _
strComputer & “rootdefault:StdRegProv”)

strKeyPath = “SOFTWAREPoliciesMicrosoftWindowsBITS”
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath
strValueName1 = “EnableBITSMaxBandwidth
strValueName2 = “MaxBandwidthValidFrom
strValueName3 = “MaxBandwidthValidTo
strValueName4 = “MaxTransferRateOffSchedule
strValueName5 = “MaxTransferRateOnSchedule
strValueName6 = “UseSystemMaximum
‘Enabled
dwValue1 = 1
dwValue2 = 8
dwValue3 = 17
dwValue4 = 20
dwValue5 = 10
dwValue6 = 1
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName1,dwValue1
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName2,dwValue2
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName3,dwValue3
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName4,dwValue4
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName5,dwValue5
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName6,dwValue6
‘Not Configured/Disabled
‘oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName1
‘oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName2
‘oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName3
‘oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName4
‘oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName5
‘oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName6

PowerShell Script

   

DescriptionGpeditRegeditBackCMD

VBScriptUp

PowerShell Script :

Enabled

$RegKey = “HKLM:SOFTWAREPoliciesMicrosoftWindows”
If(Test-Path ($RegKey + “BITS”))
{
  $RegKey = “HKLM:SOFTWAREPoliciesMicrosoftWindowsBITS”
  ##Enabled
  New-ItemProperty -path $RegKey -name EnableBITSMaxBandwidth -value 1 -PropertyType DWord -Force
  New-ItemProperty -path $RegKey -name MaxBandwidthValidFrom -value 8 -PropertyType DWord -Force
  New-ItemProperty -path $RegKey -name MaxBandwidthValidTo -value 17 -PropertyType DWord -Force
  New-ItemProperty -path $RegKey -name MaxTransferRateOffSchedule -value 20 -PropertyType DWord -Force
  New-ItemProperty -path $RegKey -name MaxTransferRateOnSchedule -value 10 -PropertyType DWord -Force
  New-ItemProperty -path $RegKey -name UseSystemMaximum -value 1 -PropertyType DWord -Force
}
else
{
  New-Item -path $RegKey -name BITS
  $RegKey = “HKLM:SOFTWAREPoliciesMicrosoftWindowsBITS”
  ##Enabled
  New-ItemProperty -path $RegKey -name EnableBITSMaxBandwidth -value 1 -PropertyType DWord
  New-ItemProperty -path $RegKey -name MaxBandwidthValidFrom -value 8 -PropertyType DWord
  New-ItemProperty -path $RegKey -name MaxBandwidthValidTo -value 17 -PropertyType DWord
  New-ItemProperty -path $RegKey -name MaxTransferRateOffSchedule -value 20 -PropertyType DWord
  New-ItemProperty -path $RegKey -name MaxTransferRateOnSchedule -value 10 -PropertyType DWord
  New-ItemProperty -path $RegKey -name UseSystemMaximum -value 1 -PropertyType DWord
}

Not ConfiguredDisabled

$RegKey = “HKLM:SOFTWAREPoliciesMicrosoftWindows”
Remove-ItemProperty -Path($RegKey + “BITS”) -name EnableBITSMaxBandwidth
Remove-ItemProperty -Path($RegKey + “BITS”) -name MaxBandwidthValidFrom
Remove-ItemProperty -Path($RegKey + “BITS”) -name MaxBandwidthValidTo
Remove-ItemProperty -Path($RegKey + “BITS”) -name MaxTransferRateOffSchedule
Remove-ItemProperty -Path($RegKey + “BITS”) -name MaxTransferRateOnSchedule
Remove-ItemProperty -Path($RegKey + “BITS”) -name UseSystemMaximum
If( (Get-Item -Path($RegKey + “BITS”)).ValueCount -eq 0 -and (Get-Item -Path($RegKey + “BITS”)).SubKeyCount -eq 0)
{
  Remove-Item -Path($RegKey + “BITS”)
}