quinta-feira, 26 de junho de 2014

Adicionar Impressora de rede via prompt de comando (CMD)

Salve Salve galera.

Hoje venho falar de um comando bem bacana.
Nós atendemos um cliente que possui diversos compartilhamentos de impressora e sempre que formatamos algum computador é aquele trabalho de ficar adicionando manualmente cada impressora.
Com isso veio a necessidade de criar algum "script" para automatizar a instalação das impressoras. Pesquisando na internet não achamos nada pronto, porem, encontramos um comando muito útil que, poderiamos criar um ".BAT", automatizando com isso a instalação. Explicando o comando:

- Comando;
- Parametros do comando;
   -  /in adiciona uma conexão de impressora de rede;
   -  /n[nome] nome da impressora;
- Nome da Computador que está compartilhando
- Nome do compartilhamento da impressora

rundll32 printui.dll PrintUIEntry /in /n \\NOMEDOPC\NOMEDAIMPRESSORA


Abaixo um exemplo de como ficaria o ".BAT":

@echo off
@echo "Adicionando impressora: \\NOMEDOPC1\NOMEDAIMPRESSORA"
rundll32 printui.dll PrintUIEntry /in /n \\NOMEDOPC1\NOMEDAIMPRESSORA

@echo "Adicionando impressora: \\NOMEDOPC2\NOMEDAIMPRESSORA"
rundll32 printui.dll PrintUIEntry /in /n \\NOMEDOPC2\NOMEDAIMPRESSORA


@echo "Adicionando impressora: \\NOMEDOPC3\NOMEDAIMPRESSORA"
rundll32 printui.dll PrintUIEntry /in /n \\NOMEDOPC3\
NOMEDAIMPRESSORA

@echo Fim do Script.

É isso pessoal, espero ter ajudado.

Até o próximo post.

Curta a nossa página no Facebook:
www.facebook.com/ConceptTecMS/




*** ABAIXO A LISTA COMPLETA DOS PARAMENTROS E FORMAS DE USO ***

Uso: rundll32 printui.dll,PrintUIEntry [opções] [@arquivodecomandos]
   /a[arquivo] nome de arquivo binario
   /b[nome] nome da impressora base
   /c[nome] nome unc da máquina caso a ação seja em uma máquina remota
   /dl exclui impressora local
   /dn exclui conexão de impressora de rede
   /dd exclui driver de impressora
   /e exibe preferências de impressão
   /f[arquivo] arquivo INF ou de saída
   /F[arquivo] local de um arquivo INF do qual possa depender o arquivo INF especificado com /f
   /ga adiciona conexões de impressora por computador (a conexão será propagada ao usuário após o logon)
   /ge enumera conexões de impressora por computador
   /gd exclui conexões de impressora por computador (a conexão será excluída após o logon)
   /h[arquitetura] arquitetura de driver de um dos seguintes: x86, x64 ou Itanium
   /ia instala o driver de impressora usando arquivo INF
   /id instala o driver da impressora usando o assistente para adicionar driver de impressora
   /if instala a impressora usando o arquivo INF
   /ii instala a impressora usando o assistente para adicionar impressora com um arquivo INF
   /il instala a impressora usando o assistente para adicionar impressora
   /in adiciona uma conexão de impressora de rede
   /ip instala a impressora usando o assistente para instalação de impressora na rede
   /j[provedor] nome do provedor de impressão
   /k imprime página de teste para a impressora especificada, não pode ser usado com comando ao instalar uma impressora
   /l[caminho] caminho de origem do driver de impressora
   /m[modelo] nome do modelo do driver de impressão
   /n[nome] nome da impressora
   /o exibe a fila de impressão
   /p exibe propriedades de impressão
   /q modo silencioso, não exibir mensagens de erro
   /r[porta] nome da porta
   /s exibe propriedades do servidor
   /Ss armazenar as configurações da impressora em um arquivo
   /Sr restaurar as configurações da impressora de um arquivo
   Armazenar ou restaurar os sinalizadores de opção das configurações da impressora que devem ser posicionados no final do comando:
2 PRINTER_INFO_2
7 PRINTER_INFO_7
c Perfil de cores
d Dados de impressora
s Descritor de segurança
g DevMode global
m Configurações mínimas
u DevMode do usuário
r Resolver conflitos de nomes
f Forçar nome
p Resolver porta
i Conflito de nome de driver
   /u usa o driver de impressão existente caso ele já esteja instalado
   /t[#] página de índice inicial, começando em zero
   /v[versão] versão do driver de um dos seguintes: "Tipo 2 - Modo Kernel" ou "Tipo 3 - Modo de Usuário"
   /w solicita um driver ao usuário caso o driver especificado não esteja no arquivo INF
   /y define impressora como padrão
   /Xg obtém configurações da impressora
   /Xs define configurações da impressora
   /z não compartilha esta impressora automaticamente
   /Y não gera um nome de impressora automaticamente
   /K altera o significado de /h para que aceite 2, 3, 4 para x86, x64 ou Itanium (respectivamente) e de /v para que aceite 3 para "Tipo 3 - Modo de Usuário"
   /Z compartilha esta impressora; pode ser usada apenas com a opção /if
   /? ajuda sobre esta mensagem
   @[arquivo] arquivo de argumento de linha de comando
   /Mw[mensagem] mostra uma mensagem de aviso antes de submeter o comando
   /Mw[mensagem] mostra uma mensagem de confirmação antes de confirmar o comando
   /W[flags] especifica sinalizadores e opções para os assistentes
(para adicionar impressoras e drivers de impressora)
r permite o reinício dos assistentes a partir da última página
   /G[flags] especifica sinalizadores e opções globais
w suprimir UI de avisos de driver de instalação (modo supersilencioso)
   /R forçar driver selecionado a substituir o driver existente

Exemplos:
   Executar as propriedades do servidor:
rundll32 printui.dll,PrintUIEntry /s /t1 /c\\computador
   Executar as propriedades da impressora:
rundll32 printui.dll,PrintUIEntry /p /n\\computador\impressora
   Executar o Assistente para Adicionar Impressora localmente:
rundll32 printui.dll,PrintUIEntry /il
   Executar o Assistente para Adicionar Impressora no \\computador:
rundll32 printui.dll,PrintUIEntry /il /c\\computador
   Executar a exibição de fila:
rundll32 printui.dll,PrintUIEntry /o /n\\computador\impressora
   Executar a instalação do arquivo INF:
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f c:\infpath\infFile.inf /r "lpt1:" /m "Brother DCP-128C"
   Executar a instalação de inf (com dependência de inf). No exemplo, prnbr002.inf depende de ntprint.inf
rundll32 printui.dll, PrintUIEntry /ia /m "Brother DCP-128C" /K /h x64 /v 3 /f "c:\infpath\prnbr002.inf" /F "c:\infpath\ntprint.inf"
   Executar o Assistente para Adicionar Impressora usando inf:
rundll32 printui.dll,PrintUIEntry /ii /f C:\infpath\infFile.inf
   Adicionar a impressora usando driver de impressora da caixa de entrada:
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /r "lpt1:" /m "Brother DCP-128C"
   Adicionar conexão de impressora por computador (a conexão será propagada ao usuário após o logon):
rundll32 printui.dll,PrintUIEntry /ga /c\\computador /n\\computador\impressora /j"Serviços de impressão LanMan"
   Excluir conexão de impressora por computador (a conexão será excluída após o logon do usuário):
rundll32 printui.dll,PrintUIEntry /gd /c\\computador /n\\computador\impressora
   Enumerar as conexões de impressora por computador:
rundll32 printui.dll,PrintUIEntry /ge /c\\computador
   Adicionar o driver da impressora usando inf:
rundll32 printui.dll,PrintUIEntry /ia /c\\computador /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode" /f c:\infpath\infFile.inf
   Adicionar o driver da impressora usando inf:
rundll32 printui.dll,PrintUIEntry /ia /K /c\\computador /m "Brother DCP-128C" /h "x86" /v 3
   Adicionar o driver de impressora de caixa de entrada:
rundll32 printui.dll,PrintUIEntry /ia /c\\computador /m "Brother DCP-128C" /h "Intel" /v "Type 3 - Kernel Mode"
   Remover o driver de impressora:
rundll32 printui.dll,PrintUIEntry /dd /c\\computador /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode"
   Remover o driver de impressora:
rundll32 printui.dll,PrintUIEntry /dd /K /c\\computador /m "Brother DCP-128C" /h "x86" /v 3
   Definir a impressora como padrão:
rundll32 printui.dll,PrintUIEntry /y /n "printer"
   Definir comentário da impressora:
rundll32 printui.dll,PrintUIEntry /Xs /n "impressora" comentário "Minha impressora"
   Obter configurações de impressora:
rundll32 printui.dll,PrintUIEntry /Xg /n "printer"
   Obter os resultados de salvamento das configurações da impressora em um arquivo:
rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer"
   Definir uso de comando de configurações da impressora:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
   Armazenar todas as configurações da impressora em um arquivo:
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"
   Restaurar todas as configurações da impressora de um arquivo:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat"
   Armazenar informações sobre a impressora no nível 2 em um arquivo:
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2
   Restaurar de um descritor de segurança da impressora de arquivo:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s
   Restaurar de um devmode global da impressora de arquivo e dados de impressora:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d
   Restaurar as configurações mínimas com base em um arquivo e resolver o  nome da porta:
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p
   Habilitar Processo do Cliente para uma impressora:
rundll32 printui.dll,PrintUIEntry /Xs /nClientSideRender da "impressora" habilitado
   Desabilitar Processo do Cliente para uma impressora:

rundll32 printui.dll,PrintUIEntry /Xs /nClientSideRender da "impressora" desabilitado





13 comentários:

  1. Boa tarde.
    Você poderia me ajudar a resolver o seguinte problema?

    Tenho uma impressora Epson TM-T20 térmica que tem portas de comunicação COM e RJ11 de telefone, que quero fazer funcionar no ambiente do DOS do Windows 98. Como eu posso fazer isso?

    Desde já eu agradeço a atenção e a ajuda.


    Wilson Santos

    ResponderExcluir
  2. cara e se for uma impressora de rede com tcp/ip

    ResponderExcluir
    Respostas
    1. Comigo ficou assim e funcionou.
      rundll32 printui.dll,PrintUIEntry /if /b "Nome Desejado" /f c:\pasta_do_inf\hpc3010u.inf /r "192.168.0.30" /m "HP LaserJet P3010 Series PCL 6"

      nessa ultima aspas voce coloca o nome do drive que vc escolhe naquela lista de drives de impressora

      Excluir
  3. windows 98 esta ultrapassado atualize seu windows????

    ResponderExcluir
  4. Ha alguma maneira, de instalar uma impressora que esta em um servidor de impressão em uma maquina que esta em um determinado local na mesma rede, aonde eu possa fazer isso da sala aonde eu estou ? via ms_dos

    ResponderExcluir
  5. Muito obrigado! Deu certinho aqui no Windows 10. Não conseguia de jeito nenhum instalar a impressora no usuário e com esta dica funcionou perfeitamente. Valeu caraaaa!

    ResponderExcluir
  6. Tenho um problema necessito trocar a porta de uma impressora via CMD para as impressões da impressora 1 saírem na 2.

    Quero que a impressora1 que usa a porta1 \\server\impressora1 (ip_192.168.0.101)

    passe a usar a porta2 \\server\impressora2 (ip_192.168.0.102)

    pelo windows é fácil de fazer é só entrar e nas configurações e marcar a nova porta, mas preciso que isso seja feito via CMD.

    Alguém sabe o comando?

    ResponderExcluir
    Respostas
    1. Não sei se vai te ajudar, mas sua impressora está com ip fixo no 101, você terá que configurar o ip dela primeiro para depois compartilhar. Vai ter que acessar seu roteador e trocar o ip estático dela.

      Excluir
  7. Este comentário foi removido pelo autor.

    ResponderExcluir
  8. Como faço para adicionar uma impressora pelo ip ao invés de rede local?

    ResponderExcluir
  9. é possível fazer um script para instalação de impressora compartilhada via rede, para ser iniciado em cada usuário que logar na máquina, deixando o script no Disco locale o script executando automaticamente?

    ResponderExcluir
  10. The Iron-Coated Travel Ring - Titanium Tube
    The Iron-Coated Travel Ring. From the German-inspired The 의왕 출장샵 Ring, this steel 여수 출장마사지 travel-ring has titanium wire a simple and 속초 출장마사지 unique 김제 출장마사지

    ResponderExcluir