I had to find a way to get all the printers attached to a particular host computer by using SQL reporting services.

Prerequisite – Please make sure that “Printer Device” and “Printer Share” classes has been enabled in hardware inventory.

Default Client Settings > Properties > Hardware Inventory > Hardware Inventory Classes > Set Classes

Please check if the above classes have been enabled. Once that is done, please use the below query to create a custom report.

SELECT Distinct SYS.Netbios_Name0, PRINTER.Name0, PRINTER.DeviceID0, PRINTER.DriverName0, PRINTER.PortName0
FROM v_R_System SYS
 
JOIN v_GS_PRINTER_DEVICE PRINTER ON SYS.ResourceID = PRINTER.ResourceID
Where SYS.Netbios_Name0 LIKE @variable
ORDER BY SYS.Netbios_Name0, PRINTER.Name0
When the report is executed, it will ask for a host name (Computer Net BIOS name). It will pull the list of all printers configured on that computer.