• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1979
  • Last Modified:

IIS on workgroup server can't print to a printer on domain

I have a server (Windows 2008 R2 webserver edition) running IIS 7.5. I do not have the webserver on the domain.  I have setup a shared printer on a host on the domain, printer's connected via Ethernet port - TCP/IP Address. I setup the same local user on the domain computer and assigned full permission to shared printer.  I can add the printer in Windows Printers and Faxes on the webserver and can print a test page.  

However, if I try to print from my web application to that same shared printer I can't print.  I can't setup the printer on the webserver since the OS is actually the WIndows Webserver 2008R2 and doesn't allow shared printers.
0
ehess
Asked:
ehess
  • 5
  • 4
1 Solution
 
BembiCEOCommented:
AS you said, this is a TCP/IP printer, means accessable without any share.
You may install a local printer, give him the IP data from the printer and install the drivers on the local machine. THis way, you have a local printer which can be accessed over the network.
0
 
ehessAuthor Commented:
I actually have done this already.  It doesn't make any difference.  The workgroup server can print a test page successfully, after I added the printer as a local printer, using the TCP/IP port.  However, when I try to print to that same printer from within the web based application that runs off of that same server's IIS processes, the jobs don't print.
0
 
BembiCEOCommented:
Ok, found the confirmation, nevertheless hard to find in the meanwhile.
A limitation of the web server edition is, that you can add local printers, but you cannot share them... "neither to the local network nor to the internet"
0
Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

 
ehessAuthor Commented:
I know the limitation.  Shouldn''t the webserver be able to access a printer from the network, since I can actually connect from the webserver to the shared printer on the domain.
0
 
BembiCEOCommented:
You mean, you can add the shared printer to the web page, but not a local one?
You can print a test page, but the web site not?

Have you regarded, that the identity of the web site is the Application host identity and this identity may not be allowed to use the printer?
Have you tried to use the everyone permission on that printer, just to test.
0
 
ehessAuthor Commented:
Yes to your first to questions.  I have already enabled everyone full permissions to the shared network printer.
0
 
David Johnson, CD, MVPOwnerCommented:
Can you print from the server that hosts the iis website to the printer fine?

How are you trying to print to this printer from your website?
Remember that IIS and the users browser run in sandboxes and do NOT normally allow direct machine access
0
 
ehessAuthor Commented:
I can print from the server that hosts the IIS website to the printer fine.  

I am using PHP and the PHP dll.  

Basically the program that is running in the browser is attempting to print a receipt.  The page is running on the web server, the process that is running on the web server (the PHP process) attempts to open a connection to the windows printing sub system.  Does a printer open, sets a couple parameters, drops the data onto the printing sub system and closes the printer.  

The problems I encountered are with the security aspects of the printer.
0
 
BembiCEOCommented:
So, two more aspects I can see...
You may check the permissions on the printer in the device list of the local machine. If php is accessing the printer, the process identity of php should have access to the printer. It can be the application pool, but need not necessarily be the application pool, depending, how php is implemented. But you may see a php process in task manager, when the website is started.
Ter you can also see, under which identity the php process is running.

As your web server is not part of the domain, it is a local identity.

Everyone group can be handled in two ways, depending on some settings in W2008 (R2), driven by policies. It can be handled like in earlier version, means authenticated as well as unautenticated users, or as similar to authenticated users

It may just be a try, to put the identity of the php process into the printer permissions, and keep in mind, as you wrote, that some settings are changed, that "only" printing is not enough.

The other point may be, that the changes you made via php are not correct and therefor the printer denies to print. A try would be, to temporarly just to disable all printer settings from php, so just to print something.
0
 
ehessAuthor Commented:
I actually ended up having to setup a print server on the domain on the database server that holds all the data for the web server (workgroup).  This was the only solution I found.  I opened a case with Microsoft and went in circles trying to get help.  Microsoft just kept sending questions back to the application developer and never solved any part of the print problem.  My application developer finally just setup the print server so I could get functionality restored.
0

Featured Post

Simplify Active Directory Administration

Administration of Active Directory does not have to be hard.  Too often what should be a simple task is made more difficult than it needs to be.The solution?  Hyena from SystemTools Software.  With ease-of-use as well as powerful importing and bulk updating capabilities.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now