From this thread, Rad suggested adding local, remote, or all printers...

I don't much like the way I'm doing this, any suggestions?

$displaymode
Value Meaning
0 - show all printers, don't display port info
1 - show all printers, display port info
2 - show local printers, don't display port info
3 - show local printers, display port info
4 - show remote printers, don't display port info
5 - show remote printers, display port info

Code:
 
Function PrinterList(optional $remotepc, optional $displaymode)
dim $service,$printer,$printers,$printerdesc[0],$counter
if $remotepc=""
$remotepc="."
endif
$Service = GetObject("winmgmts:\\" + $remotepc + "\root\cimv2")
if @error
exit @error
endif
$Printers=$service.execquery ('select * from Win32_Printer')
for each $printer in $printers
redim preserve $printerdesc[$counter]
select
case $displaymode=5
if left($printer.portname,2)="\\"
$printerdesc[$counter]=$printer.name + "," + $printer.portname
$counter=$counter+1
endif
case $displaymode=4
if left($printer.portname,2)="\\"
$printerdesc[$counter]=$printer.name
$counter=$counter+1
endif
case $displaymode=3
if left($printer.portname,2)<>"\\"
$printerdesc[$counter]=$printer.name + "," + $printer.portname
$counter=$counter+1
endif
case $displaymode=2
if left($printer.portname,2)<>"\\"
$printerdesc[$counter]=$printer.name
$counter=$counter+1
endif
case $displaymode=1
$printerdesc[$counter]=$printer.name + "," + $printer.portname
$counter=$counter+1
case 1
$printerdesc[$counter]=$printer.name
$counter=$counter+1
endselect
next
$PrinterList=$printerdesc
endfunction

_________________________
(... better days ahead)