Solved

I need users to be prompted to set default printer at logon

Posted on 2009-04-01
7
277 Views
Last Modified: 2013-12-26
Hello,
i have users that jump all around form computer to computer in a big facility.  I cannot base default printer by username since they roam around from machine to machine.  I am trying to setup a script that will run locally on the machine (startup folder) and prompts the user to select their default printer from the available printers on the machine.  I currently have several IP based printers installed on the machine.  I assume this can be done with a .bat file or .vbs file but cannot find any code to do what im looking for..any assistance would be great..
its a windows server 2003 domain environment with windows xp pro clients.
0
Comment
Question by:dpedersen
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 70

Expert Comment

by:KCTS
ID: 24045710
0
 
LVL 14

Expert Comment

by:BigBadWolf_000
ID: 24045780
Copy the script below to notepad
Save as filename.vbs
Run it at startup

It will bring up the Printers & Faxes window
and a message box telling users to select their default printer
Set objApp = CreateObject("WScript.Shell") 
objApp.Run "Control Printers", 0, True
WScript.Echo "Please Select Your Default Printer"
Set objApp = Nothing

Open in new window

0
 
LVL 6

Expert Comment

by:Grizzly072000
ID: 24045840
0
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
LVL 14

Accepted Solution

by:
BigBadWolf_000 earned 500 total points
ID: 24046530
If you want to customize further to make it easier on the user. You can use this script.
in the MsgTxt replace the 1. PrinterA with your printer name and so on...
In Select Case section ....match PrinterA to ur printer name and change the server path to the specific printer...
In Case Else section
Change the path to the default printer should the user choose cancel or forgets to input choice number

MsgTxt = vbNothing
MsgTxt = MsgTxt  & vbCrLf & "Select your default printer" 
MsgTxt = MsgTxt  & vbCrLf & "1. PrinterA"
MsgTxt = MsgTxt  & vbCrLf & "2. PrinterB"
MsgTxt = MsgTxt  & vbCrLf & "2. PrinterC"
MsgTxt = MsgTxt  & vbCrLf & "2. PrinterD"
    
DefaultPrinter = InputBox(MsgTxt,"Select Default Printer")
 
Set WSHNetwork = WScript.CreateObject("WScript.Network")   
    
Select Case DefaultPrinter
     Case "1","PrinterA"
       WSHNetwork.SetDefaultPrinter "\\ServerName\PrinterA_PrinterName"
     Case "2","PrinterB"
       WSHNetwork.SetDefaultPrinter "\\ServerName\PrinterB_PrinterName"
     Case "3","PrinterC"
       WSHNetwork.SetDefaultPrinter "\\ServerName\PrinterB_PrinterName"
     Case "4","PrinterD"
       WSHNetwork.SetDefaultPrinter "\\ServerName\PrinterB_PrinterName"
 
     Case Else
       WSHNetwork.SetDefaultPrinter "\\ServerName\Generic_PrinterName"
 
End Select
 
Set WSHNetwork = Nothing

Open in new window

0
 
LVL 14

Expert Comment

by:BigBadWolf_000
ID: 24046544
ooops...in Msgtxt ....change the selection numbers to 1,2,3,4...I left them as 1,2,2,2...pleas correct
0
 

Author Closing Comment

by:dpedersen
ID: 31565606
THAT IS AWESOME and exactly what i want.  One change i made:
instead of \\servername\printerb...
i have local printers and found that i can just put in quotations there the windows printer name IE:  "HP Laserjet 1015" and it works.

THANK YOU SO MUCH...
0
 
LVL 14

Expert Comment

by:BigBadWolf_000
ID: 24051003
Your welcome. Happy to help.
0

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

717 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question