Zerkana

martes, 2 de marzo de 2010

Problema Easy Print sobre Ws2008R2 con ciertas aplicaciones y modelos de impresora.

Hola, se nos ha dado el caso en el que en ciertas aplicaciones y ciertos modelos de impresora, easy print de terminal services no funciona y en otras si...además de lentitud a la hora de imprimir cualquier documento. El tema está en que hemos tenido que configurar una de las nuevas directivas existentes en cuanto a "servicios de escritorio remoto" en concreto: "Configuracion del equipo-Directivas-plantillas adiministrativas-componentes de windows-servicios de escritorio remoto-host de sesión de escritorio remoto-redireccion de impresora y la directiva: Usar primero del controlador de impresora Easy Print de escritorio remoto" para solventar el problema y hacer convivir easy print y drivers "legados" o instalados en el propio servidor host de terminal services. Simplemente con deshabilitar esta directiva, el cliente al conectarse intenta buscar primero si el driver de su impresora existe en el servidor, si no existe utiliza Easy Print, eso si, el driver tiene que estar instalado en el servidor host de terminal services, incluso en ocasiones tenemos que bajarlo de la web del fabricante ya que el de windows update también puede ocasionar problemas de rendimiento en la impresión. Con esto vengo a decir que podemos tener la aplicación e impresora "conflictivas" funcionando sin problemas instalando simplemente el driver de dicha impresora en el servidor y todas las demás impresoras de la red funcionando con easy print sin necesidad de tener que instalar los controladores en el servidor. Os paso un par de capturas para que los tengáis más claro:



En Ws2008 es mucho más fácil y limpio agregar un controlador de impresora, no hace falta instalar la impresora y renombrarla como "no utilizar" como se hacia en Ws2003 :)

jueves, 18 de febrero de 2010

Event Id 212 y 217 en SBS2008 Pop3 Connector

Hola, es tipico encontrar estos dos errores en el event viewer de un Sbs2008, os paso la captura donde encontrarlos:



Ambos están relacionados con la descarga de correo desde un proveedor externo mediante el conector pop3 que viene de casa. Aquí tenéis la solución propuesta en el Blog del equipo de producto de SBS:

Email Rejected Due to Protocol Errors (Invalid Headers)
Note: A long-term solution to this issue is being investigated

[New Content courtesy of Dan Thompson]

Exchange will close an SMTP connection after a certain number of protocol errors (5 by default). (see the MaxProtocolErrors property of the ReceiveConnector object at: http://technet.microsoft.com/en-us/library/aa998618.aspx)

When the SBS 2008 pop3connector downloads a message from a POP3 mailbox, it needs to figure out what the "return path" for the mail should be, which it does by reading the email's headers. The pop3connector does not do validation of the header value--it lets Exchange take care of that. If the header value that the pop3connector chooses is malformed, when it is sent to the Exchange server (as part of the "MAIL FROM" command), Exchange will reject it with a 501 error. That counts as a "protocol error", and therefore is counted against the MaxProtocolErrors limit. Since the pop3connector was not able to deliver the mail, and does not know if the mail is safe to delete, it leaves the mail on the POP3 server.

If there are 5 of these messages in your POP3 mailbox, then there will be 5 "protocol errors" in the pop3connector's SMTP session, which hits the limit, and Exchange will end the session with a transient error (4xx). When this happens, the pop3connector recognizes that the error is transient, and will retry again at the next scheduled download period. But since those 5 malformed messages are still in the POP3 mailbox, the same thing will continue to happen, with no "forward progress" being made.

The workaround is to increase the “MaxProtocolErrors” property of the Windows SBS Fax Sharepoint Receive connector, and then restart the Exchange Transport service for the change to take effect (and you’ll have to restart the pop3connector service, too, since it depends on the Exchange Transport service). Unfortunately, you can’t set that property from the Exchange management GUI, so you have to do it from an (elevated) Exchange Powershell prompt. Here are the instructions:

From an elevated Exchange Management Shell (Exchange Powershell window) (right click on “Start-->Microsoft Exchange Server 2007-->Exchange Management Shell” and then choose “Run as administrator”) run the following Powershell commands:

Set-ReceiveConnector -Identity ($Env:computername + "\Windows SBS Fax Sharepoint Receive " + $Env:computername) -MaxProtocolErrors 500
Stop-Service pop3connector
Restart-Service -force MSExchangeTransportStart-Service pop3connector


That will increase the MaxProtocol errors (of the internal receive connector only) to match the pop3connector’s max emails downloaded per session. Once you get 500 messages with malformed headers stacked up in the POP3 mailbox, though, you’ll still have to delete them manually.


Fco Luis Verdú, Consultor de Sistemas
Zerkana Consulting.

Problema con Easy Print en un DC Ws2008R2

Hola, hace unos días me encontre con un problema muy curioso. Tengo configurado un DC con el rol de Terminal Services y todo lo necesario para que Easy Print funcione sin problemas y evitarme andar instalando impresoras en el server, además las impresoras de los clientes se redirigen sin problemas y no dan ningún error al imprimir, el documento desaparece de la cola pero por la impresora local no aparece nada de nada. En el event viewer encontramos este error:

Log Name: System

Source: Microsoft-Windows-PrintSpooler

Date: 1/19/2008 4:00:00 AM

Event ID: 6161

Task Category: None

Level: Error

Keywords: Classic

User: DomainName\UserName

Computer: ServerName.DomainName

Description:

The document Test Page, owned by UserName, failed to print on printer PRINTERNAME on CLIENTName (redirected #). Try to print the document again, or restart the print spooler.

Data type: RAW. Size of the spool file in bytes: 135564. Number of bytes printed: 0. Total number of pages in the document: 1. Number of pages printed: 0. Client computer: \\ServerName. Win32 error code returned by the print processor: 5. Access is denied.

SOLUCIÓN:

Accedemos a la siguiente ruta: C:\Windows\system32\spool y sobre la carpeta PRINTERS abrimos la ficha seguridad y agregamos a "todos" con los permisos que vemos en la captura:



Con esto a funcionar!! Os dejo el Kb donde se explica el motivo de este procediento:

http://support.microsoft.com/kb/962930


Fco Luis Verdú, Consultor de Sistemas.
Zerkana Consulting.