Windows Thread, Printers on a network in Technical; Before I start,please can you bear with me. I have been, for various reasons, left in charge of a small ...
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
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")
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"
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:
Code:
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
Last edited by SteveMC; 29th December 2008 at 04:19 PM.
Reason: Typos
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.
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.
Last edited by kesomir; 30th December 2008 at 12:44 PM.
[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
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
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.
[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!
Last edited by BatchFile; 30th December 2008 at 03:56 PM.
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).
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!
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.
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.