Mark Minasi's Windows Networking Tech Page
Issue #36 October 2003

To subscribe, visit http://www.minasi.com/nwsreg.htm. To unsubscribe, link to http://www.minasi.com/unsubs.htm. To change e-mail address, switch between HTML or text format, etc., link to http://www.minasi.com/edit-newsletter-record.htm.  Visit the Archives at http://www.minasi.com/archive.htm.  Please do NOT reply to this mail; for comments, please link to www.minasi.com/gethelp.  Document copyright 2003 Mark Minasi.

What's Inside

  • News: 
    • Microsoft Names Several MR&D Forum Members (Including Me) "MVPs"
    • Seminars: XP and Active Directory Classes: New York, Charlotte, Philly, Chicago
    • XP Professional for Support Professionals Seminar Soon Available on CD!
  • Tech Section
    • Bitsadmin.exe:  a command-line HTTP tool and SUS troubleshooter
    • What to do when PXE boot doesn't work for RIS
  • Conferences
  • Bring a Seminar to Your Site

News

Hello all

Good to be back -- no September newsletter because I lost two weeks to Hurricane Isabel.  (Everyone's fine except for a few trees.)  This issue, a look at BITS, the file transfer tool that Windows Update uses, as well as some advice on how to use a neat command-line tool named bitsadmin to troubleshoot Windows Update/SUS problems as well as create background file transfer jobs from Web sites with bitsadmin.  But first, a word from our sponsor...

Microsoft Names Several MR&D Forum Members (Including Me) "MVPs"

Once a year Microsoft identifies a group of people who they think have helped a lot of other folks out and awards them their "Most Valuable Professional" status.  This year they gave MVP awards to me as well as Forum members Nick Whittome and Alex Angelopolous.  My thanks to Microsoft for the kind compliment and congrats to Nick and Alex.  (Although I can't help but point out that they did miss Al, Doug, David, Susan, Anthony, Alexis, Curt, Ron, Morten, Christa, Darren and about a gajillion of the other extremely helpful folks on the Forum.  Maybe next year!) 

Seminars: XP and Active Directory Classes: New York, Charlotte, Philly, Chicago

Just a few more weeks until our New York (LaGuardia area)  "XP Support" and "Running a 2003/2000-Based Active Directory," seminars, held at the Marriott across the highway from LaGuardia Airport.  There's no faster way to become expert in desktop or network support.  And don't forget we're coming to Charlotte in January (our first Charlotte seminar!), Philly in February and Chicago (O'Hare area).  Find out about the XP seminar at http://www.minasi.com/xpsupport.htm,  the Active Directory/Group Policy seminar at http://www.minasi.com/2003outln.htm, and the schedule of seminars at http://www.minasi.com/pubsems.htm

XP Professional for Support Professionals Seminar Coming on CD!

Now that I've been doing my two-day XP desktop seminar for a year, it's time to get it onto a set of CDs and make it available to those of you who can't afford to attend the seminar.  And that's what I've been up to the past couple of weeks, recording my XP lectures so that my friend and trusted audio engineer Gary Masters can beat those lectures into shape.  I do not have a sales page up about it yet because we're still doing post-production and so do not know how many CDs will be in the set, but I hope to in a few weeks.  It'll probably run a bit less than the 2000 CD set and yes, if you've been to the XP class then it'll be available at a substantial discount.

Tech Section

Bitsadmin.exe:  a smart HTTP file transfer tool and SUS troubleshooter

If you've got Windows Update running on one of your systems then you might have also noticed a new service on your system called the Background Intelligent Transfer Service or BITS.  It's a file transfer program that facilitates pulling down Microsoft updates.

I know -- at this point you're saying, "Huh?  What do I need a file transfer service for?  What's wrong with FTP, HTTP or even a good old XCOPY?"  Well, of course an XCOPY wouldn't work because of all of the ports that you'd need open to allow an XCOPY to run over the Internet.  Ditto FTP, more open ports.  But why not good old HTTP?  Runs on port 80, so no firewall problems -- why not just use Internet Explorer?  Two reasons, as far as I can see.

First there's the issue of restartability.  File transfers are often interrupted, as anyone who's ever tried to download a service pack on a 56K modem knows.  BITS will automatically restart an interrupted download, picking up where it left off.  Second, there's bandwidth throttling.  Imagine that you're dialing up at 56K and Windows Update wants to download 10 MB or Internet Explorer patches.  You dialed up in the first place to get your e-mail or perhaps download a file of some sort.  Would you really want to wait around for that download to happen before the system allowed you to do what you wanted to do in the first place?  Not likely.  So BITS is an HTTP-based file copy program that's careful not to suck up all of your bandwidth while doing that copy.  And if you thought that my 56K dialup examples were irrelevant to you because you're part of a large corporate LAN with tons of bandwidth, think again.  Several hundred workstations all pulling down Windows 2000 Service Pack 4 could bring all but the largest networks to their knees, whether we're talking about systems separately transferring SP4 from Windows Update or from a locally installed Software Update Service server.

But BITS is sort of mysterious by its very nature.  It's intended to run in the background and to stay out of the way, which is great ... but what about when it fails?  And even if it never gives us trouble, the notion of being able to point to some arbitrary file on a Web site and tell my system "hey, go get that file in the background, restart the transfer if it fails, and for heaven's sake don't choke my DSL while doing it" sounds kinda appealing.  So it might be nice to be able to control BITS more, and a command line tool "bitsadmin.exe" lets us do that.  I'll talk about using bitsadmin in two contexts:  first, to display the status of any unfinished Windows Update downloads, and second, to download files over HTTP from the command line.  But first -- where to find bitsadmin.exe?  You can either get bitsadmin.exe in the XP and 2003 Support Tools folders on their CDs.  If you've got Windows 2000 then you can either just copy the bitsadmin.exe from an XP or 2003 system or go to http://download.microsoft.com/download/b/b/1/bb139fcb-4aac-4fe5-a579-30b0bd915706/MPSRPT_SUS.EXE and let the "msreport" tool run.  Once it's done, then look in WINNT\MPSReports\msus\bin and you'll find it there.  They all appear to be the same binary, as it refers to itself as version 1.0 of bitsadmin.

Suppose you've just gotten an XP system and have turned on Windows Update.  You're not dialed up at the moment but would like to know if you have any partially-downloaded patches.  (Perhaps you're wondering why those modem lights flash even when you're not doing anything!)  BITS calls each download a "job" and you can get it to tell you what jobs are running or outstanding with the /list option:

bitsadmin /list /allusers /verbose

Or suppose you have one workstation that for some dumb reason cannot get some patch; you run a SUS server and run HFNetChk every day to check a given system's patches and every day that system still lacks the patch -- even though all of your other systems have it.  BITS could have gotten "stuck."  Find out what jobs are outstanding with the bitadmin command above.  You'll probably find a few -- let's call them A, B and C.  (They'll have longer names, trust me.)  You can then cancel them with the /cancel option:

bitsadmin /cancel C

would cancel job C.  Then Windows Update will re-schedule downloading the patches and with hope you'll get your updates the second time.  Remember to look in \Windows\Windows Update.log on the client system for more clues about patches that haven't installed.

Next, let's see how to download a particular file I recently needed to transfer a fairly sizeable (15 MB) MPEG file from my Web site to a remote location.  My bandwidth at the remote location wasn't very fast so I didn't want to clog the line waiting for the fifteen meg -- when I remembered bitsadmin.  To download a file via HTTP with bitsadmin, you need to know the exact URL of the file that you're looking for.  In my case it was 

http://www.minasi.com/myvid.mpg

(The file's not there any more, so it won't work if you try it.)

First, create a job in bitsadmin and give it a name.  I called mine "getthempeg:"

bitsadmin /create getthempeg

Then I tell bitsadmin the URL of the file that I want to get and specify where to put it once it's copied:

bitsadmin /addfile getthempeg http://www.minasi.com/myvid.mpg c:\target\video.mpg

Notice the syntax -- the /addfile option, then the name of the job, the URL of the source and the file specification of the target.  You might have to surround the URL or file specification with double quotes if there are spaces in them.  I can then check that I've got a job in the queue by typing bitsadmin /list.  But I find that while I've got the job in the queue that no file transfer has happened yet!  That's because BITS lets you put a job in either a "suspended" or "resumed" state, and all jobs start out in a suspended state.  I tell BITS to get moving by resuming the job:

bitsadmin /resume getthempeg

And I could suspend it with --no surprise -- the /suspend option.  I can then check the job's progress whenever I want with either the /list option or the /info option, as in

bitsadmin /info getthempeg /verbose

And eventually the file's transferred, as /info shows me:

C:\>bitsadmin /info getmpg /verbose

BITSADMIN version 1.0 [ 5.1.2600.0 ]
BITS administration utility.
(C) Copyright 2000-2001 Microsoft Corp.

GUID: {9B1E10BB-B922-45A2-8F42-4B41FD7331E7} DISPLAY: getthempg
TYPE: DOWNLOAD STATE: TRANSFERRED OWNER: X1000\Mark
PRIORITY: NORMAL FILES: 1 / 1 BYTES: 15429636 / 15429636
CREATION TIME: 10/12/2003 1:43:55 PM MODIFICATION TIME: 10/12/2003 1:51:17 PM
COMPLETION TIME: 10/12/2003 1:51:17 PM
NOTIFY INTERFACE: UNREGISTERED NOTIFICATION FLAGS: 3
RETRY DELAY: 600 NO PROGRESS TIMEOUT: 1209600 ERROR COUNT: 0
PROXY USAGE: PRECONFIG PROXY LIST: NULL PROXY BYPASS LIST: NULL
DESCRIPTION:
JOB FILES:
15429636 / 15429636 WORKING http://www.minasi.com/myvid.mpg -> c:\target\video.mpg

From the last line it's clear that the file's completely transferred.  But I won't see the video.mpg file because I've got to "complete" the job:

bitsadmin /complete getthempg

Before then I have a file with a name like "BIT77.TMP" or the like.  Once I complete the job, however, the file's where I expect it to be.  

Take a little time with bitsadmin and I think you'll find it a useful item for your tool belt.  That's particularly true if you use SUS.  I use it and like it, but when things go wrong then SUS isn't so good at telling us why it went wrong.  Bitsadmin offers some help.

What to try when PXE boot doesn't work for RIS

I really love Remote Installation Service (RIS).  But sometimes it's hard to love.  Particularly when you buy a new device, connect it to the network, and try to do a PXE boot to the RIS server... only to have the PXE client on the new computer say something along the lines of "hey, I can't find any RIS servers."  Over the years I've found or been told about five different things to try when you brand-spanking-new PC's  PXE client claims ignorance of your RIS server.

Try the RIS Boot Floppy

RIS has a tool call rbfg.exe that will create a floppy containing a PXE client.  The client contains support for about two dozen network chipsets and several dozen of the most popular NICs are built from those chips, so there's a decent chance that the RIS boot floppy will support your system.  Apparently this PXE client is a better-written piece of software than most of the built-in PXE clients, as I've found quite a number of systems whose built-in clients cannot find the RIS server but that the RIS boot floppy can.

Avoid Multihomed RIS Servers

Oftimes Microsoft network software seems to have trouble on multihomed systems.  RIS is no exception.  If you've got a multihomed RIS server and clients are having trouble finding it then try disabling one of the NICs temporarily to see if that solves the problem.  If PXE clients start finding the RIS server after you disable the NIC then you'll have to contemplate either moving the RIS function to another server or yanking the extra NICs for good.

Turn Off Spanning Tree

On two large corporate networks I've seen PXE clients unable to find a RIS server.  A bit of head-scratching led in both cases to turning off the spanning tree algorithm on the Ethernet switches.  If that solves the problem then you're in sort of a tough spot, though.  Spanning tree is a nice feature and so is RIS but if they won't play nice then you'll have to get rid of one or the other.

Set the DHCP Server Option to DHCP Only

Reader Tommy Bredesen sent me this one.  A PXE client couldn't find his RIS server.  I couldn't help but he found a workaround:

"Hello again, Mark.

I found the solution to the problem. A pretty simple one too.....doh!
I just had to set the scope to DHCP ONLY. When both DHCP and BOOTP was
enabled, it didn't work.
So now my laptop got an IP-adress after PXE-booting."

Thanks for the tip, Tom!

So when you next run into a PXE boot problem, give these solutions a try.
Conferences

I hope you'll join me for a seminar but if you can't attend a class then please consider attending another show:

Windows Magazine Live! November 2-6, Orlando

The magazine that I write for, Windows and .NET Magazine, holds its next Windows Magazine Live! conference in Orlando this November.  It's a jam-packed set of great talks by some great speakers including of the Microsoft tech world's foremost megacephaloids like Mark Russinovich, Intel's Sean Deuby, IIS Answer Man Brett Hill, Uberscripter Bob Wells and more great speakers all and really smart guys.  I'm also doing three talks, more details on that as the show gets closer.  Watch www.winconnections.com for more info on this show, coming to The Land Of The Mouse.

Bring Mark to your site to teach

I'm keeping busy doing Windows Server 2003/2000 Active Directory and XP seminars and writing, but I've still got time to visit your firm.  In just two days, I'll make your current NT techies into 2000, XP, Active Directory and 2003 experts.  (And better yet they won't have to sit through any Redmondian propaganda.)  To join the large educational, pharmaceutical, agricultural, aerospace, utility, banking, government, telecommunication, law enforcement, publishing, transportation, and other organizations that I've assisted, either take a peek at the course outlines at www.minasi.com/presentations.htm, mail our assistant Jean Snead at Assistant@Minasi.com, or call her at (757) 426-1431 (only between 9-5 Eastern time, weekdays, please).

Until Next Month...

Have a quiet and safe month. 

Please share this newsletter; I'd like very much to expand this periodical into a useful source of NT/2000/2003/XP information.  Please forward it to any associates who might find it helpful, and accept my thanks.  We are now at over 25,000 subscribers and I hope to use this to get information to every single Mastering 2003, XP, NT and 2000 Server reader. Thanks for letting me visit with you, and take care.  Many, many thanks to the readers who have mailed me to offer suggestions, errata, and those kind reviews.  As always, I'm at http://www.minasi.com/gethelp and please join us at the Forum with technical questions at www.minasi.com/forum

To subscribe, visit http://www.minasi.com/nwsreg.htm. To change e-mail, format, etc., link to http://www.minasi.com/edit-newsletter-record.htm.  To unsubscribe, link to http://www.minasi.com/unsubs.htm. Visit the Archives at http://www.minasi.com/archive.htm. Please do NOT reply to this mail; for comments, please link to http://www.minasi.com/gethelp.

All contents copyright 2003 Mark Minasi. You are encouraged to quote this material, SO LONG as you include this entire document; thanks.