Question: For someone looking after a small 50 Windows PC network (Mainly XP - some Vista), are there any tools that can do an automatic inventory of the network e.g.

* OS
* Memory size
* Hard drive type and size
* Serial numbers
* Monitor type

etc.

At the moment, someone has to go from PC to PC writing all this stuff down.

Answer: 
I have heard great things about [Spiceworks](http://www.spiceworks.com/). Its big features are:

* creating an inventory of PCs and their installed software - Windows, Mac, Linux
* creating an inventory of routers, printers, and anything IP based.
* help desk ticketing
* network monitoring
* nice reporting
[CPU-z](http://www.cpuid.com/cpuz.php) has a command line function that will write thing about the computer to a html file. That will give you memory and CPU type/speed. I believe the software [Everest](http://www.lavalys.com/news.php?article=57&selcat=PN&lang=en) can do the same for most of the other things you're looking for, except perhaps monitor type.