I have about 300 workstations and I want to know which of those computers have local printers connected to them. Not necessary shared local printers, and get a list of the computers and possibly the model of the printer. Any ideas?
Since you wrote that the clients are win xp, I'm assuning that you have an active directory. So, you could build a script using WMI to do it to you.
Take a look at this script, it will retrieve information about printers installed on a local machine.
And you could join it with this script, that will retrieve all the computers registerd in your domain.
By joining both scripts you will end up with a script that will walk over your network retriving printing information.
At this site you will find lots of good resources.
A variety of network inventory tools will help you with this - Spiceworks is available free (although might have a client count limit on the free version). There are others, and you might already have something, especially if you have a deployment tool for setting up those workstations. Many deployment tools include inventory functions.