Run the following on a machine that has the AD DS Snap-ins and Command-Line tools installed (or appropriate on older OS, e.g. AdminPak on Windows XP):
for /f "delims=, tokens=2" %i in ('dsquery * dc^=your^,dc^=active^,dc^=directory -filter "(objectCategory=printQueue)" -limit 0') do @echo %i
Replace dc^=your^,dc^=active^,dc^=directory with your AD info, remembering to escape (prefix with a ^) all the = and , symbols.
This searches Active Directory for printQueue objects, then gives you the CN of the machine that the printer is on.
There will be duplicates, so if you have a print server with 100 printers on it you’ll see it listed 100 times. Dump the data into Excel and do a “Remove Duplicates” (on the Data ribbon).