Follow admAndreLuiz on Twitter

terça-feira, 26 de outubro de 2010

Problemas de Impressão em Remote Desktop Service (Terminal Service) Parte 6

Client Printers (Windows 2003 )

Quando um usuário se conecta a um servidor de terminal, seu software de cliente RDP local automaticamente disponibiliza as impressoras que ele tenha instalado localmente-lo de dentro de sua sessão de servidor.

Ele faz isso ao criar dinamicamente impressoras que imprimem em  portas especiais (também dinamicamente criadas) que apontam de volta para o dispositivo do cliente. Estas impressoras tem um nome como “Printer name (from Client name)in Session # .” (For example, “Lexmark Optra (from LAPTOP01) in session 11.”) Além disso, estas impressoras são configuradas em portas especiais com nomes como "TS001" e "TS002" (como visto na guia "Portas" da página de propriedades da impressora. Cada impressora é criada com permissões que permitem apenas  o usuário usá-la.
Tecnicamente, os usuários avançados e os administradores podem imprimir para qualquer impressora, assim verão todas as impressoras de todos os usuários no servidor. Usuários regulares, no entanto, só podem ver suas próprias impressoras. Quando um usuário precisa imprimir um documento a partir de um aplicativo de servidor de terminal, ele chama o trabalho de impressão como de costume. De dentro de sua sessão, ele vai ver impressoras do seu dispositivo cliente listadas dentro interface de impressão do aplicativo. Para o usuário, estas impressoras parecem impressoras comuns . O usuário não tem nenhuma idéia que estas impressoras realmente são mapeadas para as suas impressoras locais através do protocolo RDP.

image

1. O usuário imprime de seu aplicativo em execução no servidor de terminal.
2. A GDI cria o arquivo EMF no Terminal Server.
3. O arquivo EMF é enviado para o spooler de impressão (via o roteador de impressão) no Terminal Server.
4. Se os drivers de impressão para a impressora do cliente são carregados no servidor de terminal, o spooler de impressão do Terminal Server processa o trabalho de impressão. Se os controladores  não foram carregados no servidor de terminal, o trabalho de impressão do usuário não pode ser concluído.
5. O trabalho de impressão é enviado do servidor de terminal para o dispositivo cliente através de um canal virtual de impressão como parte do protocolo RDP .
6. O dispositivo cliente recebe a tarefa de impressão. Porque o servidor tinha os drivers de impressão carregados para a impressora do cliente, o trabalho de impressão é processado especificamente para a impressora do cliente, e subsistema de impressora local do dispositivo cliente imediatamente pode processar o trabalho e enviá-lo para a impressora.

Podemos fazer algumas observações :

•O trabalho de impressão RAW (não processado) é normalmente grande e pode demorar a trasmitir para o cliente principalmente se a conexão for lenta como dial up por exemplo..

•A performance da sessão RDP é degradada porque o trabalho de impressão vai concorrer com a largura de banda.

Client Printers (Windows 2003 ) Impressora Mapeada

À primeira vista, você pode perguntar por que razão do Terminal Server não é inteligente o suficiente para imprimir diretamente para o servidor de impressão de rede. Ao fazê-lo iria aliviar a necessidade para o arquivo EMF viajar para baixo do servidor para o cliente e voltar. Infelizmente, na realidade, isso não é viável. Por exemplo, pode haver situações em que o servidor de impressão só está disponível para o dispositivo do cliente e não para o Terminal Server  ou talvez haja um firewall na rede que permitisse apenas o tráfego RDP na porta 3389 

image

 

Além dos problemas de desempenho, é um aspecto potencialmente negatico o uso de impressoras do cliente. Como você viu na figura acima, o trabalho de impressão do usuário é iniciado no servidor de terminal quando os mapeamentos de impressora do cliente são usados. Por causa disto, o servidor precisa ter os drivers necessários instalados para a impressora do cliente para que ele possa criar o trabalho de impressão. Afinal, é o servidor que estará criando trabalhos de impressão de sessões do usuário, não o dispositivo do cliente.

Uma das soluções para minimizar isso seria o uso de softwares de terceiros.

Client Printers (Windows 2003 ) Impressora Mapeada na WAN

Aqui apresentamos o pior cenário no ambiente de terminal 2003 ou seja a impressora é mapeada e esta numa WAN.

 

image

Vantagens de usar Ímpressora mapeada :

•Conexão de impressoras perfeita.

•Usuários veem impressoras que estão familiarizados.

•Todas impressoras locais suportadas são disponíveis.

•Configuração rápida.

Desvantagens:

•Performance ruim .

•Uso intenso da banda de rede.

• Trabalho de impressão renderizado no servidor – uso do processador

•Drivers são instalados no servidor e nos clientes locais.

•Usuário pode modificar ou deletar suas impressoras locais impactando o mapeamento .

Imprimindo em impressora mapeada - Problemas :

•Quando um trabalho de impressão do usuário é iniciado no servidor mapeamento do “client printer” é usado . Por causa disso o servidor precisa de ter os drivers da impressora do cliente instalado para poder criar o trabalho de impressão

•No caso de centenas de usuários com centenas de impressoras diferentes instalando e configurando drivers de impressora no servidor de terminal pode ser insustentável.

•No caso dos usuários terem muitas impressoras ja configuradas na estação pode ser o cenário que se tenta evitar usando o serviço de terminal.

3 comentários:

Anônimo disse...

Thank you, I have recently been searching for information about this topic for ages and yours is the best I have discovered so far.

Anônimo disse...

I just added your blog site to my blogroll, I pray you would give some thought to doing the same.

Anônimo disse...

nice post. thanks.