Solved

Machine Specific Printers?

Posted on 1998-11-12
18
305 Views
Last Modified: 2013-12-19
Large NT4SP3 site of mine requests default printers for machine rather than user, to allow users to default to printing to the local printer located in the room.

Currently, they have to map to the printer either by UNC or selection from Network Neighbourhood.

Does anyone know how this is possible?  What is required?

Printers are all mainly HP's running JetDirect hanging off two different servers but I wouldn't think its a printer issue, more a config/setup issue.

Users are mobile within the site which is why it needs to be machine specific.
0
Comment
Question by:sedd
  • 8
  • 4
  • 2
  • +2
18 Comments
 
LVL 5

Expert Comment

by:tcalesa
ID: 1565645
You can do this a couple of ways,
1.) this is more manual, but also more foolproof:
     Install the printer and driver locally on each
     workstation rather than attaching to the print server.
2.) copy a shortcut of the desired printer to the
    \winnt\profiles\printers directory. All users on the  
     workstation will now have access to the specified printer.

Good Luck

0
 
LVL 95

Expert Comment

by:Lee W, MVP
ID: 1565646
I have very limited experience with scripts, but you might be able to write a logon script.  On each computer you could set and environment variable, perhaps "printer=hp1" or hp2 and have the script then net use the appropriate printer.  The more I think about it, the more it sounds like it could work nicely.  The only initial problem is getting the environment variable on all the systems.
0
 

Author Comment

by:sedd
ID: 1565647
The problem is not in providing everyone access to the printer, this is already done.

The question asks rather 'How do i provide PC SPECIFIC rather than USER SPECIFIC default printers?'

The comment about logon scripts is somewhat off the mark also, given that i don't want user specific scripts at all.  If it is possible to run different logon scripts based upon computer name then this might work, but as far as I am aware logon scripts can only be executed based upon the username.

Cheers, keeping my fingers crossed.


0
Flexible connectivity for any environment

The KE6900 series can extend and deploy computers with high definition displays across multiple stations in a variety of applications that suit any environment. Expand computer use to stations across multiple rooms with dynamic access.

 
LVL 95

Expert Comment

by:Lee W, MVP
ID: 1565648
Ok, there's another catch I forgot about, you would have to either modify each user's login script (if you use them) or add a generic script file if you don't already use them.  If you name the environment variable "printer=<server>\<printer-share-name>" then you could simply add the line to each user's script or to one generic script for all users with the line "net use lpt1: %printer%"
0
 
LVL 2

Expert Comment

by:cooler012598
ID: 1565649
1. Login as administrator to the workstation. 2. Select add printers form the printing menu and select "LOCAL printer". 3. When the setup wizzard asks for a port select add port and enter the unc name of the printer \\servername\printername.  The printer will be added as a local printer and whoever logs on can use it.
0
 

Author Comment

by:sedd
ID: 1565650
Cooler thanks for the suggestion.  Will try when I'm onsite today and let you know how i go.
0
 

Author Comment

by:sedd
ID: 1565651
Cooler

Setting the printer up as a default printer on the local workstation (logged in locally as admin) still doesn't set that printer up as default for any other users who happen to log in.

What is needed is printer default set to the co-located printer, independant of logon scripts, because users are mobile within the site.

Anyone else with any ideas?
0
 
LVL 2

Expert Comment

by:cooler012598
ID: 1565652
Who said anything about setting the printer as the default printer. You are defining a local printer on the machine with a network connection port.  This method does create local printers independent of logon scripts.  What you are missing is the point which is you must create a local port that is defined to the printer located on the network. 1. Login as administrator to the workstation. 2. Select add printers form the printing menu and select "LOCAL printer". 3. When the setup wizzard asks for a port select add port and enter the unc name of the printer \\servername\printername.  The printer will be added as a local printer and whoever logs on can use it.  This is not windows 95 its nt and you must realize that you can define local printer ports that are rerouted to a network printer and once a printer is assigned as a LOCAL PRINTER it will show up on the machine under EVERY profile.

0
 

Author Comment

by:sedd
ID: 1565653
Cooler

Thanks for you somewhat terse comment.  I am *aware* this is NT not 95.  I undertook the steps you mentioned, with the definition of the printer as a local printer.  I have *NO* problem in people being able to print to these printers, the problem, and the QUESTION i'm asking, is ***how to set up default printers for specific machines that are independant of users***

My clients do not want to have to choose the printer from a pulldown menu every time they want to print and they don't want to have to think 'Gee, what is this printer beside me called?'.  They want to be able to hit the 'Print' button and pick up the pages from beside the desk.

I thought your solution above was a very good one and went out all gung ho and tried it, BUT it still keeps the user specified default printer.

Thanks for your effort so far, any ideas?  Is it even possible?  I'm inclined to think its a pie in the sky dream of theirs and mine but aren't ready to say that just yet..
0
 
LVL 5

Expert Comment

by:tcalesa
ID: 1565654
Sorry,
I don't think what you are asking is possible. If the printer is the first one defined when setting up printers it automatically becomes the default. (for that user profile on that machine) To change the default printer you have to 1 change the default printer when adding a new printer or 2 change the default printer from within the printers folder with that user logged in.

The registry holds the printer info, but I've been unsuccessful with a similar venture within my walls. I planned on using the registry to change printer settings on remote workstations, but the printers subkeys do not display unless I am at that machine with that user logged in. (and I had full admin access to the registry.
0
 

Author Comment

by:sedd
ID: 1565655
tcalesa

Thanks for your comment, but i'm not going to accept an 'its not possible' answer as the close to the question!  I'll leave it open and hope someone comes up with some suggestions.


0
 
LVL 7

Expert Comment

by:sweatbeast
ID: 1565656
I havent had a chance to look at this from an NT perspective, but in win95 there is a reg key which defines the default printer. Have a look under NT to see if it the same - if it is then it might well be possible to use a .reg file to edit each the users local profile to set that printer as default. Under W95 the key is HKEY_CURRENT_CONFIG\SYSTEM\CURRENTCONTROLSET\CONTROL\PRINTERS

Like I said, I am not 100% about this one, but it might be worth investigating. Let me know.
0
 
LVL 7

Expert Comment

by:sweatbeast
ID: 1565657
Sedd - Have you come across Kix?
Take a look at http://netnet.net/~swilson/kix/

Under the sample scripts there is an example of setting default printer. I havent tried it yet myself, but I'd be interested to find out how it works. I still think my original answer might be better, though.


0
 

Author Comment

by:sedd
ID: 1565658
sweetheart

Thanks for your comments.  The real problem isn't actually setting a default printer by user, its the attempt to set a default printer based upon the machine in use.  All the users do have default printers that are setup but because they are mobile within the site I was trying to setup default printers based on WHERE they logged on, rather than the more common WHO logged on.
0
 

Author Comment

by:sedd
ID: 1565659
Ok..  Points go Up.  I need a solution to this.  Please post suggestions here or drop me an email directly to sedd@innocent.com.
0
 
LVL 5

Accepted Solution

by:
tcalesa earned 150 total points
ID: 1565660
I searched and found what I think might be the answer. It does use a logon script, but it sets up the printers by machine rather than by user.
Here's the link to the document:
http://www.jsiinc.com/TIP0600/rh0672.htm

And the document itself:

672 » How do I set a roaming users default printer based upon the PC they logon at?

If a roaming user normally logs on in building 1, you may not want them to print to the same printer (by default) if they logon in building 2. You can alter this behavior in a login script.
A users' default printer is defined at:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device

This type REG_SZ value has a default string value of PrinterName,winspool,LPT1:. When set for a network printer, the string value is \\ServerName\PrinterShare,Description,LPTn:. The description is not important so the string value can be expressed as \\ServerName\PrinterShare,,LPTn:.

There are many possible ways to effect this in a login script. Here is any easy one to understand and administer:

1. For each ComputerName in your organization, create a ComputerName.REG file that contains the appropriate setting for the default printer used by that PC and store it in the NetLogon share on your server(s). For example, computer JSI5 should use the HP1600C share name served by JSI2. Therefore, JSI5.REG should contain:

     REGEDIT4

     [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]
     "Device"="\\\\JSI2\\HP1600C,,LPT1:"

2. Issue the following command in your script:

     If exist "%LogonServer%\Netlogon\%ComputerName%.REG" regedit /S "%LogonServer%\Netlogon\%ComputerName%.REG"

NOTE: the /S switch of regedit.exe causes it to be Silent.

Of course, it you use W9x clients, you will have to set the missing environment variables ( see tip 120 ).


0
 

Author Comment

by:sedd
ID: 1565661
tcalesa,

Thanks for making my clients (and hence mine -- he'll pay me now!) xmas a happy one!

Great work
0
 
LVL 5

Expert Comment

by:tcalesa
ID: 1565662
I'm glad it worked. I'm sorry it took so long.

Merry Christmas and Happy New Year!
0

Featured Post

Easy, flexible multimedia distribution & control

Coming soon!  Ideal for large-scale A/V applications, ATEN's VM3200 Modular Matrix Switch is an all-in-one solution that simplifies video wall integration. Easily customize display layouts to see what you want, how you want it in 4k.

Question has a verified solution.

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

Suggested Solutions

Greetings, Experts! First let me state that this website is top notch. I thoroughly enjoy the community that is shared here; those seeking help and those willing to sacrifice their time to help. It is fantastic. I am writing this article at th…
This is the first one of a series of articles I’ll be writing to address technical issues that are always referred to as network problems. The network boundaries have changed, therefore having an understanding of how each piece in the network  puzzl…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

820 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