We wrote some reports
Local-connected printers
Select Top 1000000 tsysAssetTypes.AssetTypeIcon10 As icon,
  tblAssets.AssetID,
  tblAssets.AssetName,
  tblAssets.Domain,
  tblAssets.IPAddress,
  tblAssets.Userdomain,
  tblAssets.Username,
  tblPrinters.Caption,
  tblPrinters.Portname,
  tblAssets.Firstseen,
  tblAssets.Lastseen,
  tblPrinters.Lastchanged,
  tblPrinters.Status,
  tblPrinters.Printprocessor
From tblAssets
  Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
  Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
  Inner Join tblPrinters On tblAssets.AssetID = tblPrinters.AssetID
Where (tblPrinters.Portname Like 'USB%' Or tblPrinters.Portname Like 'LPT%' Or
    tblPrinters.Portname Like 'COM%' Or tblPrinters.Portname Like 'DOT4%' Or
    tblPrinters.Portname Like '%.%.%.%') And tblAssetCustom.State = 1
Order By tblAssets.AssetName
All Printers:
Select Top 1000000 tblAssets.AssetName,
  tblAssets.Username,
  tblAssets.Lastseen,
  tblPrinters.*
From tblAssets
  Inner Join tblPrinters On tblAssets.AssetID = tblPrinters.AssetID
Where Not tblPrinters.Portname Like 'PORTPROMPT:' And
  Not tblPrinters.Caption Like '%XPS%' And Not tblPrinters.Caption Like '%Fax%'
  And Not tblPrinters.Caption Like '%OneNote%' And
  Not tblPrinters.Caption Like '%Document%' And Not Lower(tblPrinters.Caption)
  Like '%pdf%' And Not Lower(tblPrinters.Portname) Like '%port:%'
Network Printer Connection:
Select Top 1000000 tblAssets1.AssetID,
  tblAssets1.AssetName,
  tblAssets1.IPAddress,
  tblAssetCustom.Manufacturer,
  tblAssetCustom.Model,
  tblPrinters.Caption,
  tblPrinters.Portname,
  tblAssets.AssetName CompName,
  tblAssets.IPAddress CompIP,
  tblAssets.Username,
  tblAssets.FQDN
From tblPrinters
  Inner Join tblAssets On tblAssets.AssetID = tblPrinters.AssetID
  Inner Join tblAssets As tblAssets1 On (tblPrinters.Portname Like '%' +
        tblAssets1.IPAddress + '%' Or
        tblPrinters.Portname Like tblAssets1.AssetName + '%' Or
        tblAssets1.AssetName Like tblPrinters.Portname + '%' Or
        tblAssets1.AssetName = tblPrinters.Portname)
  Inner Join tblAssetCustom On tblAssets1.AssetID = tblAssetCustom.AssetID
Where tblAssets1.IPAddress <> '' And tblAssets1.Assettype = 16
Order By tblAssets1.AssetName
or if need then add fix domain name
Inner Join tblAssets As tblAssets1 On (tblPrinters.Portname Like '%' +
tblAssets1.IPAddress + '%' Or
tblPrinters.Portname Like tblAssets1.AssetName + '%domain_suffix' Or
tblAssets1.AssetName Like tblPrinters.Portname + '%domain_suffix' Or
tblAssets1.AssetName = tblPrinters.Portname)