• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1362
  • Last Modified:

Logon printer script error

I have made a vbs printer script that adds printers when a user loggs on, and we have 2 workstation that have physically attached printers that we have shared out. These printers are included in my logon printer script. On the workstations that have no printer attached then the script works fine with no errors. But when the workstations that have the printers attached try and run the script or when they logon then it comes up with a printer script error:

Script: target of the script..
Line:20
Char:1
Error: The filename, directory name, or volume label syntax is incorrect.
Code:8007007B
Source: (null)

Now if you see the code snippet i was logging into workstation2 which has a printer attached with a share name of HP2200_Admin.

So im wondering if there is a way so that no script errors occur no matter what computer you are logging into.

' Printers.vbs
' Simple VBScript to set Printers
' Version 4.0 - 24/06/08
' Author ****, ***
' Modified ****, ***
' ---------------------------------------------------------'
Option Explicit
 
Dim objNetwork, strUNCPrinter, strUNCPrinter1, strUNCPrinter2, strUNCPrinter3
 
strUNCPrinter = "\\sbs-svr01\FXDocu236"
strUNCPrinter1 = "\\sbs-svr01\hp2200"
strUNCPrinter2 = "\\workstation1\DYMO"
strUNCPrinter3 = "\\workstation2\HP2200_Admin"
 
Set objNetwork = CreateObject("WScript.Network") 
objNetwork.AddWindowsPrinterConnection strUNCPrinter
objNetwork.AddWindowsPrinterConnection strUNCPrinter1
objNetwork.AddWindowsPrinterConnection strUNCPrinter2
objNetwork.AddWindowsPrinterConnection strUNCPrinter3
 
WScript.Quit

Open in new window

0
wyscom
Asked:
wyscom
1 Solution
 
bdpsgCommented:
hi,

if you do not mind, perhaps you can use the following in a bat file..... it is very simple and straight forward..... you need to just add the line into your login.bat.....


rundll32 printui.dll,PrintUIEntry /q /in /n "\\ServerName\PrinterName"


hope this helps.....
0
 
slam69Commented:
try renaking teh printer with a hyphen instead of an underscore for example hp2200-admin
0
 
purplepomegraniteCommented:
The following modification of your code checks the name of the computer before trying to attach it.  This should solve the problem - it is also error trapped in case something slips by - you shouldn't get any errors anymore.
' Printers.vbs
' Simple VBScript to set Printers
' Version 4.0 - 24/06/08
' Author ****, ***
' Modified ****, ***
' ---------------------------------------------------------'
Option Explicit
Dim objNetwork, strUNCPrinter, strUNCPrinter1, strUNCPrinter2, strUNCPrinter3, strComputer
Set objNetwork = CreateObject("WScript.Network") 
strComputer= objNetwork.ComputerName 
 
AddPrinter "sbs-svr01", "\FXDocu236"
AddPrinter "sbs-svr01", "\hp2200"
AddPrinter "workstation1", "\DYMO"
AddPrinter "workstation2", "\HP2200_Admin"
 
WScript.Quit
 
sub AddPrinter(strComputerAttachedTo, strPath)
	if strComputerAttachedTo=strComputer then exit sub
	on error resume next
	objNetwork.AddWindowsPrinterConnection "\\" & strComputerAttachedTo & strPath
	err.clear ' Just in case
end sub

Open in new window

0
 
wyscomAuthor Commented:
This works fine.
Thanks mate.
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now