windows 7 printers installed by computer not user?

running win 7, 64bit. we use roaming profiles. trying to use GP or something else, a script maybe if it is fast install printers for a computer, not a user. and not have printers follow the user at all. this way, if you travel to a different room, you can use that printer, and dont have to pick/install. is this possible?

i can currently do this easily using XP....i have a script that installs a shared printer for all users that use the computer and the printers dont follow the user....i can't figure it out yet for win 7.

Who is Participating?
TimMurpConnect With a Mentor Commented:
Two ways to do this through GPO without scripts:

Computer-> Policies -> Deployed printers (this is for using printer server)

Computer-> Preferences ->Control Panel Setting->Printers (this deploys the actual driver to the machine, I have had trouble removing them after they are installed this way but it delivers no problem. Also, controlling settings of printer like double side print is a pain)

If you want to deploy via script let me know I have a couple you can use.
Patrick BogersDatacenter platform engineer LindowsCommented:
You can do this very easy if you have the printer role installed.

This video on youtube lets you see how this role can create the GPO based on printers per user OR printer per machine. Hope you find it interesting.
Will SzymkowskiSenior Solution ArchitectCommented:
Take a look at the KB article as it illustrates how to setup machine based printers via GPO...

Hope this helps
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

Also forgot that you might need to put a script in called PushPrinterConnections.exe. This can be done at Computer->Policies->Windows Settings->Scripts->Startup
CCLCLSAuthor Commented:
so if i have a bunch of rooms that each have a printer i dont want to setup separate GPOs to deploy the printers...

right now with XP i just run a script, one time....not at startup or anything, and it installs the printer on that computer for any user that logs in, and printers dont follow users....

but with 7 it doesnt work....but i dont want to deploy printers by GPO....can it be done with computer name? not GPO? or is there a similar script that can just be run?

if i have to create GPOs then i need another 50+ GPOs, each one with one computer in it?
How how the printers hooked up? Networked or directly into the computer?

If it networked it would be more difficult. But if it is directly into the computer, you could just deploy the driver in a GPO to the 50+ and it will detect it on start up.

Can you up load the script you have now?
CCLCLSAuthor Commented:
rundll32 printui.dll,PrintUIEntry /ga /n "\\printserver\printer" /j "LanMan Print Services"

above is an example of the XP script...

they are all network printers
You could write a vbs with the following and run remotely / manual on the machine

Set objNetwork = CreateObject("WScript.Network")
objNetwork.AddWindowsPrinterConnection "<>"


there is also a IFmember command for looping. How do the printers get IPs and are they on the print server?
CCLCLSAuthor Commented:
static IPs on print server.
i dont want logon script though...

the example i gave is not logon script. it installs the printer on the computer for any is run one time by the admin to install the printer...
CCLCLSAuthor Commented:
i am able to deploy the printer via GPO by computer account, but it only works for administrators, doesnt work for standard users....thouhgts?
CCLCLSAuthor Commented:
Tim, if possible please post a script that will install printers for all users. the script below works but only for the admin running it.....all other users see no printers.....this was so easy under XP.....deploying via GP adds tons of time to the login time.....

set objNetwork = WScript.CreateObject("WScript.Network")
set objShell = WScript.CreateObject("WScript.Shell")

'Add Network printers
objNetwork.AddWindowsPrinterConnection "\\server\printer1"
objNetwork.AddWindowsPrinterConnection "\\server\printer2"

'Set Default Printer
objNetwork.SetDefaultPrinter "\\server\printer1"

'Attrib to system, hidden and read only
objShell.Run("attrib %systemroot%\printers.vbs +r +s +h")
Sorry for the delay, I have been swamped.

That is a different GPO

Computer Configuration -> Policies -> Administrative Templates -> Printers : Point and Print Restrictions
Setting: Enabled

Enable for all users by adding them.  You might want to do a little research on Point and Print restrictions before moving forward but it should give them the ability to install a networked printer.
CCLCLSAuthor Commented:
i ended up getting this method to work after some time...thanks

Computer-> Policies -> Deployed printers (this is for using printer server)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.