Mr. Roboto
Intelligent Transfer
Lift the load of downloads using Window's Background Intelligent Transfer Service (BITS) 2.0.
After downloading some sizeable images for product updates, it occurred to me that life is pretty good. I can start downloads, let them run all day and night in the background, and still use my computer -- almost as if nothing else was happening. I can do this because I use BITS, the Background Intelligent Transfer Service built into Windows. You can use it too, and you'll love it.
First, download BITS 2.0 and WinHTTP 5.1 from Microsoft. Don't worry -- they're free. BITS will let you know if all your patches are up to date, and it will not overwrite anything. You'll also need the WinXP SP2 Support Tools. Once you have everything installed, you're ready to roll.
Now find a nice juicy URL you want to download. You can get at it via HTTP or HTTPS, and it's no problem if it requires log-in credentials. Next, create a new BITS download job by opening a command-line or PowerShell window and running bitsadmin /create /download MyJob. (Use whatever name you like in place of "MyJob.")
Add your URL to the job by running bitsadmin /ADDFILE MyJob http://whatever.com/file.zip c:\local\file.zip. You're providing the job name (in place of "MyJob"), as well as the remote URL and local filename you want to use for the file. That local filename needs to be a complete path. The file won't appear until the job is completed, so don't panic if you don't see a zero-byte file show up right away.
If you need to set proxy settings, run something like bitsadmin /setproxysettings MyJob preconfig. This sets BITS to use Internet Explorer's proxy settings, which are easy to set with the Internet Options control panel. They are most likely already set correctly on your computer.
Finally, if the URL you're downloading requires a log-in, add credentials to the job by running bitsadmin /setcredentials MyJob server basic username password. Substitute the correct values for "username" and "password." This is basic (clear-text) authentication. You can specify ntlm instead of basic to use Windows integrated authentication. In that case, you'd leave out the username and password because it will use your log-on credentials.
Now you're ready to kick everything off by running bitsadmin /resume MyJob. BITS will download in the background, using "spare" bandwidth so you can continue using your computer for other tasks. Run the bitsadmin /addfile as many times as you like to add more download URLs to the job. They will download in order.
You can check the status by running bitsadmin /monitor. You'll get a continuously updated status report, which you can break out of by pressing Ctrl+C (downloading continues in the background). Suspend a job by running bitsadmin /suspend MyJob (or whatever job name you used), and resume again whenever you like. When the job is finished, you'll have to "complete" the process to make the destination files actually appear. Run bitsadmin /complete MyJob to do this.
BITS 2.0 offers a ton of additional flexibility, including the ability to add lists of URLs from a text file, control job access, control lists and more. Run bitsadmin /? to learn about all the details. BITS may require a bit of command-line jockeying to use (Windows doesn't ship with a GUI for the tool), but it's a better download manager than many browser plug-ins, at least for background downloads. BITS can resume interrupted jobs where it left off, which saves time, and it hums away in the background to download large files while you're tackling other tasks.
More Information
Get this month's downloads from Microsoft
here and
here.
About the Author
Don Jones is a multiple-year recipient of Microsoft’s MVP Award, and is Curriculum Director for IT Pro Content for video training company Pluralsight. Don is also a co-founder and President of PowerShell.org, a community dedicated to Microsoft’s Windows PowerShell technology. Don has more than two decades of experience in the IT industry, and specializes in the Microsoft business technology platform. He’s the author of more than 50 technology books, an accomplished IT journalist, and a sought-after speaker and instructor at conferences worldwide. Reach Don on Twitter at @concentratedDon, or on Facebook at Facebook.com/ConcentratedDon.