Em geral, imprimir a partir de programas MSDOS em uma impressora de rede é fácil usando o comando:
NET USE LPT1 \\SERVIDOR\IMPRESSORA
Por exemplo:
Net Use LPT1 \\contabilidade\epsonlx
Essa configuração só dura até o proximo boot, mas você pode fazer com que seja permanente com o parâmetro /persistent:yes, assim:
Net Use LPT1 \\contabilidade\epsonlx /persistent:yes
Nota: você pode precisar incluir usuário e senha na linha de comando. Não vou entrar nesses detalhes agora. Digite NET USE ? para ver a sintaxe completa do comando.
Isso tinha funcionado bem até ontem, quando fui chamado para resolver o problema de um determinado programa que não queria imprimir na rede de jeito nenhum. O primeiro problema é que apesar de ser "for windows" o programa era uma "evolução" de um programa DOS e o programador só sabia imprimir em LPT1 (nem mesmo LPT2 ou LPT3 - esperto, não?). Não havia opção para escolher em que impressora imprimir, como é normal em programas Windows.
O segundo problema é que esse usuário específico não conseguia fazer o mapeamento com NET USE. Sempre pedia a senha e depois acusava Acesso Negado, não importando que usuário/senha eu fornecesse. Mas logando como o meu usuário o mapeamento funcionava normalmente.
Não demorou muito para que eu determinasse que não funcionava porque esse usuário era Limitado, mas eu era o Administrador.
Fiz uma rápida pesquisa no Google e encontrei esta página, que explica o motivo: por questões de segurança um usuário limitado não pode mapear uma porta física para uma impressora de rede no XP e 2003. A explicação de como resolver o problema me pareceu demasiado complicada ("devcon" what?!) porque enquanto eu lia já havia me ocorrido uma possível solução.
Fui no setup do BIOS do PC e desabilitei a porta LPT1. Tentei de novo fazer o mapeamento e tudo funcionou como deveria.
É claro que eu só tinha essa opção porque esse PC não tinha nenhuma impressora fisicamente conectada a LPT1 e nem vai ter. Se o seu caso for diferente você terá que seguir as outras sugestões da página. Mais tarde eu fui ler com calma os comentários do post e outras pessoas sugerem fazer o mesmo que eu fiz.
Bruxo! Ontem mesmo eu estava vendo como fazer isso, por outros motivos, mas exatamente a mesma coisa: mapear uma porta fisica p/ uma printer na rede.
ResponderExcluirEsse mundinho e suas coincidencias nao cansam de me surpreender :)
Jefferson,
ResponderExcluirEu já tive este problema aqui no serviço e apenas desativei a porta lpt1 no gerenciador de dispositivos que eu conseguia utilizar o net use no perfil do usuário.
Oi Jefferson,
ResponderExcluirA solução do link que voce indicou nada mais é do que desabilitar a porta LPT1:
"Use the devcon disable *PNP0401 command to disable the LPT port"
Portanto a solução do Fernando causa o mesmo resultado e é muito mais simples.
isto serve também para quem tem impressora USB e tem que usar o TS, pois o TS não reconhece a porta DOT4 como porta de impressora só LPT, dai tem que fazer esta mágica para imprimir local.
ResponderExcluirCaraca, deu certinho! Desativei LPT1 na BIOS e funfou. Valeu Cara!
ResponderExcluirGalera , não encontrei onde desabilita a lpt1 na bios, alguém pode me indicar falar o caminho e nomes, obrigado!
ResponderExcluir