Guy's Scripting Ezine 5 - Printers
Contents of Guy's Scripting Ezine 5 - Printers
1) This Week's Secret
2) Map network printers
3) Learning points
4) Troubleshooting error messages
5) Special Request
I will let you into a secret; my most difficult logon script has been to map
multiple printers. Tom, I thank you for drawing my attention to the printer script problems, and
gently nudging me to investigate solutions. Once again, I have been grappling with CGI scripts. Learning a new
scripting language has been a humbling process and it has brought home the need
to cover error messages with my own scripts. Now I realize that when you are in
a hurry that you just want to copy and paste the scripts. However, if you wish
to learn how VBscripts works, then there is no gain without pain, and that pain
is deciphering error messages.
Calculating IP Address
ranges is a black art, which many network managers solve by creating custom
Excel spreadsheets. IPAT cracks this problem of allocating IP addresses
in networks in two ways:
For Mr Organized there is a nifty subnet
calculator, you enter the network address and the subnet mask, then IPAT
works out the usable addresses and their ranges.
For Mr Lazy IPAT
discovers and then displays the IP addresses of existing computers.
Download the Free IP Address Tracker
The purpose of this script is to map more than one printer.
INSTRUCTIONS
Copy the lines below, paste into notepad, save with .vbs extension example
printerduo.vbs. Prerequisites: you need two network printers. If need be, create
a "pretend" printer with the add printers wizard.
'
' VBScript.
' A script to map two network printers
' Remember to substitute your server names for lucy4
' What are your printer names?
' Crucial point a carriage return between the printers
Dim net
Set net = CreateObject("WScript.Network")
net.AddWindowsPrinterConnection "\\lucy4\dotty", "DotMatrix"
net.AddWindowsPrinterConnection "\\lucy4\lazy", "Color2"
"Dim net" declares net as a variable. (dim print would work just as well)
set net = createobject ("wscript.network"). (This line is creating "net" and
setting as a network object. Other objects would be user or computer)
net.AddWindowsPrinterConnection "\\lucy4\dotty", "Dot Matrix (AddWindowsPrinterConnection
is a method telling it what do. MapNetworkDrive is another method)
Unlike variables, you cannot make up your own methods, they are built in and you
just learn or collect them to use in your scripts.
Here is a reference to get more ideas, for example to the default printer
http://computerperformance.co.uk/Logon/LogonScript_Printer.htm
Line: 9
Char: 71
Expected end of statement
Code 800A0401
Clues. The error is to be found on the 9th Line down - blank lines ARE counted,
and remark lines are counted. 71st character - again including blanks. This is
the area where the problem is located.
What can "Expected end of statement" mean? Some things missing? So try an extra
carriage return and bingo - it works. (Actually I first tried a comma, but that
did not work.)
Code 800A0401. All error codes begin with 800, so pay close attention to the
last 5 characters. Search Google for "Code 800A0401" sometimes you find useful
clues, often its just other people with the same problem! If a Google search
cannot help then do contact me.
References for more Error messages: 0800xxxx Error Codes
See more about logon printer VBScripts
• Logon Printer
Methods • Ezines • Logon Map
Printer • Logon Scripts
• Tool Kit
• Ezine 2 Printers •
Ezine 5 Printers •
Ezine 16 Printers •
Ezine 17 Printers
• Ezine 116 Printers Two •
Ezine 118 Printer network •
PowerShell Printers
|