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: 
There are lots of solutions (just [google "computer inventory"](http://www.google.com/search?q=computer%20inventory)), but the one I know of is [OCS Inventory NG](http://www.ocsinventory-ng.org/), although depending on your needs you may want to look for something a bit more friendly, as this open source project is somewhat complex.
Assuming you are on an Active Directory domain you can very quickly develop a Windows PowerShell script to do it all remotely via WMI queries. If I could post a link, I would link you to a copy of the script I wrote. 

Apart from writing a script there is the Microsoft Server Center stuff