Global Network Printers

Posted on 2005-04-28
Medium Priority
Last Modified: 2008-01-09

How do you install printers on a windows server 2003 that will be available to all logons?

I have installed a load of printers as administrator but we have an application that runs under a different account that has no printers?

do i just have to create a profile as the account that needs them and install them again??
Question by:yvsupport
LVL 97

Expert Comment

by:Lee W, MVP
ID: 13887106
Printers installed locally (as opposed to mapped to the network) are available to all users.

Expert Comment

ID: 13887205
You should also share the printers.

Expert Comment

ID: 13887265
Do you want local users or domain users to have access to these printers?  Printers should be abvailable to anyone who logs on locally if they are installed by someone with admin rights.  For domain users to be able to use these printers you will need to add them to thier local machines when they are logged on, the printers need to be shared in order to do this though.  If you are using Terminal Services then the printers will need to be added to each account.  I think there are way to script this but I am not sure how.
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.


Expert Comment

ID: 13887339
RShooper is correct, for printer to "be available" all you have to do is share them with the right permissions.

You can control the assignment of printers using group policy though...Use this article if you want to control printers through Group Policy on your network.


Note: The best way to apply group policy to a set of users is to create an organizational unit.


Expert Comment

ID: 13891793
You need to share the printers (publish in AD) and then run a script to map the printers to the users.

'Declares variables used through-out the script

DIM fso

Set WshShell = WScript.CreateObject("WScript.Shell")
Set wshNetwork = CreateObject("WScript.Network")
Set fso = CreateObject("Scripting.FileSystemObject")

'Maps the pre-determined user directories

wshNetwork.MapNetworkDrive "M:", "\\SERVER\SHARE" & ""

'Maps Printers

wshNetwork.AddWindowsPrinterConnection "\\SERVER2\PRINTERNAME1"
wshNetwork.AddWindowsPrinterConnection "\\SERVER1\PRINTERNAME2"
wshNetwork.SetDefaultPrinter "\\SERVER2\PRINTERNAME1"

save that as a .vbs file under %SYSTEMROOT%\sysvol\SYSVOL\scripts\

Author Comment

ID: 13893520
thanks guys.

Ok. The setup is:

1 x Windows Server 2003 Std print server with all printers on site installed locally
1 x Windows Server 2003 Web which runs the 'application' (browser based for the client) through IIS.

All printers are shared and installed as network printers (connected to the print server) on the web server.

The application runs under the 'ASPNET' account on the web server but has no printers.

Are you saying that the printers need to be installed locally on the web server?? If so, this would go against our model as the spooling would surely take place on the web server and not on the dedicated print box??

hmmm. Any ideas of how to get round this??

Accepted Solution

neomage23 earned 2000 total points
ID: 13895228
Ah, i think i get what you're trying to do...what you want to do is called "server-side printing". The printer does need to be "locally" installed, but can be locally installed AS A NETWORK PRINTER, get it? Plus, you're .NET web application needs to fulfill certain "requirements". If you examine and follow this text, I bet your app will print:

-the printers must be installed to the Web server
-the local SYSTEM account is given access to the printers
-the Machine.config file holding configuration settings for the .NET Framework is edited to give the ASPNET worker process access to the system settings on the server.
*Note   Implementing server-side printing involves changing the default permissions on the server and is not recommended for applications that are exposed to the Internet.

To setup server-side printing you need to ensure the process under which ASP.NET is running has sufficient permissions to access Network printers. By default, ASP.NET runs with the permissions of the local “machine” (ASPNET account for the ASPNET worker process) account. In order to achieve network printing through IIS (Internet Information Services), the Framework should be run under the local SYSTEM account.

To setup server-side printing

Access the Machine.config files which is located by default at:

<VersionNumber> is the version of the .NET Framework installed to the computer. The account setting is contained within the <ProcessModel> tag of this file. The default setting for the account is: userName="machine" password="AutoGenerate"

Edit the default configuration settings in the Machine.config file. Change the default setting to:
userName="SYSTEM" password="AutoGenerate"
Save the file.
It is now possible to give the local SYSTEM account on the server permissions to print.

If the printer is a network printer, expose the network printer to the local SYSTEM account.
When a printer is installed to a computer, the settings for this printer are stored in the registry under the HKEY_CURRENT_USER registry hive (Registry file). The IIS process will never use this registry hive since it always runs under the context of the local SYSTEM account and cannot be logged onto a server as a “Current User”. By default, the SYSTEM account does not have any printers set up in the registry. There are two Microsoft knowledge base articles, Q152451 and Q184291 that explain how to expose the printer settings to the System account. Both of these articles require editing the registry on the Web server and copying the printer settings from the HKEY_CURRENT_USER hive to the HKEY_USERS/.DEFAULT hive.

Hope that gets it! -neo

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

This article will inform Clients about common and important expectations from the freelancers (Experts) who are looking at your Gig.
Tech spooks aren't just for those who are tech savvy, it also happens to those of us running a business. Check out the top tech spooks for business owners.
Viewers will learn how to connect to a wireless network using the network security key. They will also learn how to access the IP address and DNS server for connections that must be done manually. After setting up a router, find the network security…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

850 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