Advice on using Win32_Printer

J

Joseph

Hello everyone,

Could someone tell me if this script would do what I want,
which is to enumarate the printers attached to each Server.

I get an error, which I think indicates that I do not have admin rights on
these servers.
Is that correct?

If I know that this script would work, then I can add what I need it to do
(create a web page with some of the results returned),
then ask someone else, in another country, to run it for me.
TIA

'http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_printer.asp
On Error Resume Next

Dim arrPrSrv(7)
Dim i
'arrPrSrv(0) = "." '. local computer
arrPrSrv(1) = "PrtSrv1"
arrPrSrv(2) = "PrtSrv2"
arrPrSrv(3) = "PrtSrv3"
arrPrSrv(4) = "PrtSrv4"
arrPrSrv(5) = "PrtSrv5"
arrPrSrv(6) = "PrtSrv6"
arrPrSrv(7) = "PrtSrv7"

For i = 1 To 7

strComputer = arrPrSrv(i)
Set objWMIService = GetObject("winmgmts:\\" & strComputer &
"\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from
Win32_Printer",,48)

' WScript.Echo strComputer
For Each objItem In colItems
WScript.Echo "Name: " & objItem.Name & Chr(13) _
& "ServerName: " & objItem.ServerName & Chr(13) _
& "ShareName: " & objItem.ShareName & Chr(13) _
& "Port Name: " & objItem.PortName ' what I'm after - as this
can be used to work out the htm address:
'
Note that the 'Web Page Address' as displayed by AD
'
does not work, http://<IP_Address> does
Next

Next

If Err <> 0 Then

If err.Code = 80041003 Then ' 0x0080041003 = admin rights required
' MsgBox Err.number & Chr(13) _
' & err.description
WScript.Echo Err.number & Chr(13) _
& err.description
End If

End If
 
S

Scott McNairy \(MVP\)

Yes, that code looks fine.

Sometimes people prefer to limit the WQL Query that they use just down to
the properties that they need to consume.

In your code you have:
So this query would work for you as well.
Select Name, ServerName, ShareName, PortName from Win32_Printer
instead of
select * from win32_printer
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top