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





Resolver problemas para imprimir via Terminal Service

Esse erro ocorre principalmente com as impressoras da HP LaserJet serie 10:
  • HP LaserJet 1018
  • HP LaserJet 1020
  • HP LaserJet 1022
Mensagem de erro ao tentar imprimir:

caption
Pressionado o botão Sim temos:
Id do Pacote: PrintDiagnostic
Caminho: Desconhecido
Código do erro: 0x80070057
Origem: Catálogo
Usuário: \x7000\cris
Contexto: Restrito

Para resolver o problema:

Desabilite a configuração de diretiva usar primeiro o driver de impressora
easy print de área de trabalho remota.

1) Clique em iniciar e na caixa Pesquisar Programas e arquivos digite gpedit.msc (enter);

2) No editor de diretiva de grupo local clique em:
  • Configuração do computador
  • Modelos Administrativos
  • Componentes do Windows
  • Serviços de Area de Trabalho remota
  • Host de sessão de Area de Trabalho Remota
  • Redirecionamento de Impressora
  • usar primeiro o driver de impressora easy print de área de trabalho remota
  • De dois cliques e desabilite esta diretiva.