Esta é apenas uma solução parcial, já que não lhe diz nada sobre os drivers. Eu coleto informações da impressora através do script de logon (VBS). A parte relevante é:
objOutputFile.WriteLine "Printers:"
objOutputFile.WriteLine "========="
set objPrinters = objNetwork.EnumPrinterConnections
For i = 0 to objPrinters.Count - 1 Step 2
objOutputFile.WriteLine "Port " & objPrinters.Item(i) & " = " & objPrinters.Item(i+1)
Next
set objPrinters = Nothing
Enquanto impressoras locais podem ser identificadas pela porta. Funciona no XP, Server 2003 e Win7 e não tenho motivos para pensar que não funcionará em todas as versões do Windows baseadas em "NT".