In tip 8220 » How can I retrieve printer capability information from Active Directory, I used DSQUERY to return the following printer attributes:
printShareName PrinterName location description shortServerName printPagesPerMinute printMaxResolutionSupported printOrientationsSupported printColor printBinNames printDuplexSupported printMediaReady printStaplingSupported printCollate printLanguageUsing standard commands, I have scripted ADPrinters.vbs to return the server name and printer name, in CSV format.
The syntax for using ADPrinters.vbs is:
cscript //nologo c:\Folder\adprinters.vbs.
The output is displayed on the console, but can be redirected to a file, like:
"jsi001.JSIINC.COM","HP Business Inkjet 2250 (PCL5C)" "jsi001.JSIINC.COM","ZFax" "JSI009.JSIINC.COM","HP Officejet 6200 series"ADPrinters.vbs contains:
Set objRootDSE = GetObject("LDAP://rootDSE") strDomain = objRootDSE.Get("defaultNamingContext") Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand.ActiveConnection = objConnection objCommand.CommandText = "Select printerName, serverName from " _ & " 'LDAP://" & strDomain & "' where objectClass='printQueue'" objCommand.Properties("Page Size") = 1000 objCommand.Properties("Timeout") = 30 objCommand.Properties("Searchscope") = 2 objCommand.Properties("Cache Results") = False Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF Wscript.Echo," & objRecordSet.Fields("serverName").Value & " objRecordSet.MoveNext Loop& objRecordSet.Fields("printerName").Value &
0 comments
Hide comments