Jump to content

Recommended Posts

Posted

Before I start,please can you bear with me. I have been, for various reasons, left in charge of a small network in a nursery school and I thought I knew quite a lot about IT, but apparently not.

This question is similar to the thread about network printing, but I am afraid that I do not understand the answers given there. I do hope that someone can explain what I need to know in words of one syllable if possible.

I am running Server 2003

I can install a network printer fine, but.. I have NO idea how to specify who sees which printer. I see I might have to do something with a log on script (I DO know where they are!!) but I really don't know exactly what I should be putting or where.

Told you I didn't know much. We are talking very basic knowledge here.

Or maybe Michael can explain how to sort out my system from the printer end?

All help very gratefully received

Posted

A log on script is probably the best way for you...you say you have some already? do you know what they are written in?

 

Does every user have a seperate account? are the clients 2000/xp/vista?

Posted

Assuming that you have the printer installed on the server, then changes to the script below will allow you to set the default printer direct from the server.

 

This should be set to OU via the group policy

 

 

option Explicit

On Error Resume Next

Dim WshShell, WshNetwork, strprintername

Set WshShell = WScript.CreateObject("WScript.Shell")

Set WshNetwork = WScript.CreateObject("WScript.Network")

 

 

 

 

WshNetwork.AddWindowsPrinterConnection("\\portpr-dc-01\hpcolorL")

 

 

' Set Default Printer

 

WshNetwork.SetDefaultPrinter "\\severname\sharename"

Posted (edited)

Printers, IMHO, are the ICT Technician's worst nightmare.

 

Anyway, simplest (maybe) way would be add a new (user) group policy called printer (assuming there is only 1) and get it to run a script on login. (\\server\netlogon\printer.vbs)

 

A simple (VBS) script for add (and defaulting) the printer

 

Open NOTEPAD, save as printer.vbs (make sure you remember the .vbs at the end) enter the below:

 

On error resume next

 

Dim Network, printer

 

Set Network = CreateObject("Wscript.Network")

printer = "\\server\printer"

 

Network.AddwindowsPrinterConnection printer

Network.SetDefaultPrinter printer

 

Set Network = Nothing

 

wscript.quit

 

Update:

Mcshammer_dj bet me to it!!

Edited by matt40k
Posted (edited)

You might have an issue with the scripts above, if the users don't have permission to install new printer drivers (if it's a small number of machines you can always install the drivers by hand as administator on each machine).

 

If you use the printui.dll facility, it should sort out the drivers even if they're not already on the client machines.

 

Here's the part of our script that deals with printers:

 

Dim objShell, objNetwork

Set objShell = CreateObject("Wscript.Shell")
Set objNetwork = CreateObject("Wscript.Network") 

AddPrinter("\\server\PrinterShareName")
objNetwork.SetDefaultPrinter "\\server\PrinterShareName"                   

Sub AddPrinter(printer)
 On Error Resume Next
 ObjShell.Run "rundll32 printui.dll,PrintUIEntry /in /n""" & printer & """", 7, true
 On Error GoTo 0
End Sub

 

If required, I've got a more complex one that adds printers based on the groups the users and/or the computers are in (allowing staff to see different ones to pupils, and even those to differ depending on what room they're in).

 

I've also realised that I need to get the script into some sort of shape for the new Network Manager that's taking over at the school (it's currently 540 lines long and handles everything from drive mapping, through printers to phones!).

 

Stephen

Edited by SteveMC
Typos
Posted

oh dear - I don't really understand any of those posts: it's worse than I thought.

We have three groups of users: pupils, staff and support. Users don't have separate accounts - it is done in age groups. One suite of 30 machines, plus others scattered about. All machines run XP. There is a printer in the IT suite and a couple of others in other places around

The logon script is common to all pupils, it seems

What is the difference between mcshammer_dj and matt40k's methods as they don't look the same?

I can just about create a new group policy but after that it is all a bit of a blur.

Can anyone recommend where i should go for more help - I'm sorry but you are all so clever and I don't think you can come down to my level!!

You talk about scripts but I don't know what to do with one if I met it in the street.

Posted (edited)

I'm going to walk through this as slowly as I can for you.

 

1. I'm going to assume that the printers are installed and shared properly

 

2. Right click on the printer on the server and you should have a security tab where you can specify who has print access to the printer (groups and users). BY default everyone is allowed. If you don't want this, remove the allow printing for everyone and add in specific groups or users.

 

3. To add printers to clients you have 2 choices

 

  • Install the printer on the account manually by logging into it and adding the required printers
  • Using a script that runs when the user logs in to do this automatically.

 

Since you have a small number of accounts which are shared and appear to struggle with the idea of scripting (you would need to google this, check scripts posted here and ultimately understand them well enough to modify them for your use), I suggest you add the printers manually.

 

After adding them, you can change permissions in Active Directory Group Policy (google this) to prevent the users permission to add or remove the printers if you like (optional).

 

SO in a nutshell:

 

  • Right click on the printer on the server to set permissions as to which users can print, check queues etc on each printer
     
  • Go login to each account and install the network printers (on the add printer dialogue enter \\SERVERNAME\PRINTERSHARENAME to locate it.

 

If you cannot see the printers, then they are not shared properly on the server.

 

[EDIT] For the scripts, you don't need to be a rocket scientist to do this, but you do require an amount of baseline knowledge on the way these tools work. It can be overwhelming at first look, which is why I suggest the manual approach for now - if you are going to be sticking with managing this system as a major role, I suggest slowly reading up on all of this until it becomes clear (or doing a few courses such as A+ and then the microsoft ones) - it's not beyond you, just daunting atm. If not, stick with the method I describe which will do what you want with the least time investment for your specific needs.

Edited by kesomir
Posted

[EDIT] For the scripts, you don't need to be a rocket scientist to do this, but you do require an amount of baseline knowledge on the way these tools work. It can be overwhelming at first look, which is why I suggest the manual approach for now - if you are going to be sticking with managing this system as a major role, I suggest slowly reading up on all of this until it becomes clear (or doing a few courses such as A+ and then the microsoft ones) - it's not beyond you, just daunting atm. If not, stick with the method I describe which will do what you want with the least time investment for your specific needs.

 

He is right, have a browse around the site, do some searching and googling, it's surprising how quickly you pick it up. And don't be afraid to ask what might appear to others to be silly questions, anyone on here will tell you the amount of silly questions I asked in my first job just to be sure what I was doing before progressing :)

Posted

Thank you very much - that is very useful. You are so helpful and kind to an aging idiot!

 

I know how to create and link a group policy, and I know what a script is (and that you can just get handy ones from people) - my problem is that I do not know what to put in a group policy or a log on script to make things run (and I don't know where to put a script either). oh goodness that sounds confused already.

I am browsing away but mostly you all seem to start from a place so far above my head that I can barely see you.

 

I would rather not log in to each account and add the printer manually, I really really would like to know how to do it via a logon script (as I said, I know where they are).

The awful thing is, I really thought I had a vague handle on all of this - but it is that I have worked on a managed system before and I only know their way of doing things!

 

Just one more very silly question: if the printer security tab allows you to specify which groups and users can see the printer, why do you need to add it to the clients?

Having reread the posts I think I get some of Matt40k's now.

I am a bit scared (correction very scared) to even try to do this on my own

Posted (edited)

I can clear that one up:

 

The "Security" tab tells the server who to allow to do what to the printer.

 

If you leave it at the default setting everyone *could* print to the printer. BUT this DOESN'T mean it will be visible to them straight away, they'd have to go browsing accross the network for it if they wanted to use it.

 

To make life easier for your users you'll want to give them a printer or two when they log in so they don't need to go a hunting, for that the PrintUI method above works fine for me. I just have a heap of batch files in a folder that users can run to connect to an appropriate printer. in the example below, the first line connects them to the printer and the second one sets it as their default printer.:)

 

RUNDLL32 PRINTUI.DLL,PrintUIEntry /in /n "\\Cpsappsrv1\room2_colour"

RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "\\Cpsappsrv1\room2_colour"

 

[edit] Oh by the way - if you're going to do it this way just watch out as bits of "PRINTUI.DLL,PrintUIEntry" are, unusually for Microsoft, CaSe SeNsItIvE!

Edited by BatchFile
Posted

to answer your questions:

 

Create a new user policy that applies to all the accounts you want

 

In the Group Policy Editor: Default "Domain Policy\Windows Settings\Scripts (Logon/Logoff)\Logon" insert the vbs code.

 

Code placed in here is automagically executed when a user logs in

 

if the printer security tab allows you to specify which groups and users can see the printer, why do you need to add it to the clients?

 

You don't have to - the users 'could' add them themselves, but we take the view that it's less hassle to provision it instead.

 

Setting up the share provides access to the printer resource, adding the printer to a user account sets it up for use.

Posted

I've attached a more complete version of our script to this message. Essentially it looks at the first 3 character of the computer's name (converted to lower case) and then sets up a connection to the desired printer(s).

 

You'll probably need a couple of different versions of the script, for the different groups of users.

 

To apply it to the users at logon, you should do the following:

 

1) Using the Group Policy Management console (if it's not already installed, download it from here), look for a policy that may already be applied to the users.

 

2) It may be simplest just to create a new policy for the purposes of applying the printer script (it's not the most efficient as it will slow down the logins slightly).

 

3) Once you've opened the policy up, look in the "User Configuration" section, within "Windows Settings", "Scripts (Logon/Logoff)" and double-click the 'Logon' item on the right.

 

4) Click the 'Show Files' button in the window that appears, and copy the attached script into the folder (after adjusting it to your requirements).

 

5) Now click the 'Add' button and select the file

 

6) Once you've click 'OK' a few times, you should have a working logon script that will apply to any users with that OU in Active Directory.

 

You'll want to do the above again for each group of users (although I do have a more complicated script that can handle the different user groups from one script, but that may be overkill for your requirements).

 

Stephen

map-printers.vbs

  • Thanks 1
Posted

Thanks to all for your help. Especially SteveMC as that is exactly what I need - detailed instructions. However, I still don't understand how to adjust the script to suit my needs - what to take out, what to put in etc

Told you I was thick!

Posted

The only way to work out what to add/take out of the scripts is to try it. Just make sure you make a backup of your original script so you can revert back to it if you delete parts of the script that stop it working.

 

Start with just installing a printer for everyone until your happy you know how this works. You can then go about adjusting it so it only installs the printers you want, for specific rooms.

 

If you want to test the scripts out before you put them into a logon script you can run them locally by saving the script in your user area and running it while you are logged onto the network. This way you will be prompted with any error messages that occur if the script does not work. You can then edit the scripts to correct them and run them again. The only thing you should need to change in the sample scripts are the server(to your servername) and the printername(to your printer name) Running the script should then add printer.

Posted

Yep. There is nothing to stop you running the script manually yourself. Then see what printers you end up with. Modify it how you think you should and run it again. It'll either complain with a vaguely helpful error message or you'll hopefully get the selection of printers you actually wanted.

 

Rinse and repeat on your other PC/User 'groups' and assuming it's working you can stick it in a login script.

Posted
Yep. There is nothing to stop you running the script manually yourself.

 

Yeah there is: and therein lies the difference between all of you and me; I wouldn't dare run anything in case I broke it and couldn't mend it again.

I've never been the type to try things out, at least not on a live network!

 

You are all trying to be so helpful but I'm afraid I still don't quite see how to do this - and I am sure you are all shouting "what on earth...?" as I know you have all explained it as far down to my level as you can get.

 

I think the problem is that it is all so scary that I can't focus properly on it.

 

I'm not sure I am cut out for this but I need the money so...onwards

Posted

You wont brake anything by running a printer script, either you will install a printer (specified in the script) or you will recieve an error message indicating that there is a problem at a point(line and char space provided).

 

Copy the sample script as given earlier into a text file.

Change the extention to .vbs and save it as printer.vbs.

Save this file in your own user area.

Replace the words server and printer with your own networks server and printer names

Save the updated file.

Double click on printer.vbs.

 

You should now have a printer installed locally. If not check what error messages are shown and see if you can identify what errors caused them(normally it would be spelling). If you get really confused, post the error message and script back on here for people to help you out.

 

Once this works manually you can then add it to a logon script for all users.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...