none
Problemas com o AddWindowsPrinterConnection RRS feed

  • Pergunta

  • Estou enfrentando problemas com meu script de logon. Adicionei os drivers das impressoras previamente e compartilhei elas todas elas a partir de um computador na rede. Nesse computador, faço um log de tudo que é impresso nas impressoras.

    O problema começa quando os usuários sem permissão de administrador fazem o logon. Antes de adquirirmos as máquinas novas que viéram com o Windows 7, eu utilizava o comando "NET PRINT \\COMPUTADOR\\IMPRESSORA" e os usuários imprimiam normalmente, mas, como o NET PRINT não existe no windows 7, tive que mudar. montei então um script vbs que segue o modelo abaixo:

     

    Set objRede = WScript.CreateObject ("WScript.Network")

    objRede.AddWindowsPrinterConnection "\\COMPUTADOR\IMPRESSORA", mas, não está funcionando. Quando o perfil do usuário é de administrador funciona, mas, quando não é, impressora aparece como se estivesse instalada, só que não imprime e dá um erro dizendo que a impressora não está conectada.

    Isso em todas as estações, sejam elas windows 7, XP ou Vista. Adicionei novamente o comando NET PRINT \\COMPUTADOR\IMPRESSORA no scipt em lote que chama o VBS e as estações Windows XP e Vista voltaram a funcionar, mas, a Windows 7 que depende do VBS não funciona de jeito nenhum...

     

    Qual é afinal o problema com o meu script, o comando está errado?

    Desde já, agradeço a todos que puderem ajudar.

    quinta-feira, 2 de dezembro de 2010 18:55

Respostas

  • Marcelus,

    Gostaria de mais uma vez agradecer a ajuda. O NEU USE também não resolveu. Verdade que adiciona a impressora na porta LPT1, mas, não sei se por falta de conhecimento meu, ou limitação do comando, as impressoras não aparecem na lista de impressoras disponíveis para os programas Windows, somente para os programas DOS.

    Ontem depois da sua mensagem pesquisei mais um pouco sobre a estrutura do Windows e encontrei um comando comum a todas as versões a partir do XP "rundll32 printui.dll" usando ele consegui descobrir o que estava acontecendo. As impressoras Kyocera que estão instaladas, entram em modo de economia após algum tempo. Nesse estado, elas reportam erro ao script VB que entende que há um problema de comunicação com a impressora. Dessa forma, não instala a impressora. usando o NET PRINT isso não ocorre. Com o comando "rundell32 printui.dll" também é possível ignorar esse erro, o que instala a impressora normalmente.

    Resumo da Ópera, não era o script e sim a impressora que estava apresentando problema.

    Atenciosamente,

    Ricardo Gamalho

    • Marcado como Resposta Gamalho sábado, 4 de dezembro de 2010 14:44
    sábado, 4 de dezembro de 2010 14:44

Todas as Respostas

  • Nesse caso podem ser várias coisas.....os usuários tem permissão para imprimir na "bendita"? 

    Tente adicionar permissionamento na impressora e um outro procedimento que pode efetuar é adicionar o usuário como ADM local. 

    Efetue os testes e poste!

    []'s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    sexta-feira, 3 de dezembro de 2010 13:58
  • Marcellus,

    As permissões de impressão foram dadas a todos, mas, assim não funciona com o comando via VBS. Quanto as permissões administrativas, elas funcionariam, mas, também permitiriam que aos usuários a instalação de outros programas, além dos que por padrão já estão instalados, o que não éuma boa idéia no caso em questão.

     

    Mas, como forma de teste criei um usuário com esses direitos e funciona, só não resolve o meu problema.

     

    De qualquer forma, muito obrigado pela ajuda.

     

    sexta-feira, 3 de dezembro de 2010 14:42
  • Antes de mais nada sabemos que permissionamento local é o problema.

    Veja esse link: http://social.technet.microsoft.com/Forums/pt-BR/winvistapt/thread/3a36cd0d-e312-42ea-be38-9a9ed107023d

    Acho que ele possui a resposta ao seu problema...

    Lembrando que vc pode também utilizar o comando net use. Ex:

    NET USE LPT1: \\COMPUTADOR\IMPRESSORA . Isso indicará que a LPT1 é da impressora X. Sendo que os drivers deverão ter sido instalado previamente. 

    Efetue esses testes e poste!

    []'s, 


     

     


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    sexta-feira, 3 de dezembro de 2010 15:50
  • Marcelus,

    Gostaria de mais uma vez agradecer a ajuda. O NEU USE também não resolveu. Verdade que adiciona a impressora na porta LPT1, mas, não sei se por falta de conhecimento meu, ou limitação do comando, as impressoras não aparecem na lista de impressoras disponíveis para os programas Windows, somente para os programas DOS.

    Ontem depois da sua mensagem pesquisei mais um pouco sobre a estrutura do Windows e encontrei um comando comum a todas as versões a partir do XP "rundll32 printui.dll" usando ele consegui descobrir o que estava acontecendo. As impressoras Kyocera que estão instaladas, entram em modo de economia após algum tempo. Nesse estado, elas reportam erro ao script VB que entende que há um problema de comunicação com a impressora. Dessa forma, não instala a impressora. usando o NET PRINT isso não ocorre. Com o comando "rundell32 printui.dll" também é possível ignorar esse erro, o que instala a impressora normalmente.

    Resumo da Ópera, não era o script e sim a impressora que estava apresentando problema.

    Atenciosamente,

    Ricardo Gamalho

    • Marcado como Resposta Gamalho sábado, 4 de dezembro de 2010 14:44
    sábado, 4 de dezembro de 2010 14:44