Como adiciono uma porta de impressora TCP / IP padrão a partir de uma linha de comando?

7

Existe uma maneira de usar o tcpmonui.dll Rundll32.exe, LocalAddPortUI a partir de uma linha de comando para adicionar uma porta TCP / IP padrão para uma impressora?

Ou qualquer outra maneira de adicionar uma porta de impressora TCP / IP padrão a partir de uma linha de comando.

    
por Adam L 27.10.2009 / 21:56

5 respostas

2

De acordo com nesta página você pode usar o comando prnport no XP.

    
por 09.07.2010 / 01:13
13

Apenas para que outras pessoas possam encontrar isso, aqui está o comando exato (de cmd.exe ) que eu corro para adicionar programaticamente uma impressora de rede no Windows 7 (isso parece ser raro mesmo depois de muito de googling):

cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\prnport.vbs ^
-a -r IP_10.0.0.100 -h 10.0.0.100

rundll32 printui.dll,PrintUIEntry /if /b "printer" /f %windir%\inf\prnhp002.inf^
/r "IP_10.0.0.100" /m "HP LaserJet 4200/4300 PCL6" /Z

(se você não sabia, como eu não sabia, ^ é o caractere de continuação de linha no cmd.exe). Você provavelmente terá que usar um arquivo inf diferente daquele listado acima. Eu percorrer todos os arquivos em C:\Windows\inf procurando o texto exato do meu driver de impressora (HP LaserJet 4200/4300 PCL6 ") para descobrir o que eu preciso.

Outro truque útil é executar um one-liner do PowerShell para limpar quaisquer impressoras antigas que possam existir (se não for óbvio, isso excluirá todas as impressoras que você instalou atualmente):

powershell -command "foreach ($p in Get-WmiObject Win32_Printer) {$p.Delete()}"
    
por 19.01.2011 / 22:27
2

você quer dizer:

NET USE [local port to bind to ie LPT1] \ComputerName\printer_share /PERSISTENT:YES

nota:

  • isso funciona com endereços IP, não apenas com o URI
  • você pode fazer o loop de uma impressora local NET USE LPT1: \127.0.0.1:9100
por 27.10.2009 / 22:07
0

Esta página sugere que não é possível a menos que a porta TCP / IP já exista:

Note The following sample syntax works correctly as long as the standard TCP/IP ports are created:

rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%\inf\ntprint.inf /r  "IP_157.57.50.98" /m "HP Laserjet 4000 Series PCL" /Z

If you do not enter the printer name correctly, or if you specify a printer that is not connected to the server, standard TCP/IP ports are not created, and you may receive the following error message...

    
por 27.10.2009 / 22:29
0

Este segmento é o Necro'd, mas eis como faço as instalações da impressora:

Este é o script que eu uso para instalar copiadoras e impressoras quando fazemos a reinstalação bare-metal do Windows.

::Creating a Printer Port
cd c:\windows\system32\printing_admin_scripts\en-us\
Cscript Prnport.vbs -a -r 000.000.000.000 -h 000.000.000.000

::Install Printer Driver
rundll32 printui.dll,PrintUIEntry /ia /m "EXACT NAME OF DRIVER AS WRITTEN IN .inf FILE" /f "\server\file\.inf"

::Create Printer in System
rundll32 printui.dll,PrintUIEntry /if /b "PRINTER NAME GOES HERE" /f "\server\file.inf" /r "000.000.000.000" /m "EXACT NAME OF DRIVER AS WRITTEN IN .inf FILE"

Certifique-se de alterar o valor 000.000.000.000 para o IP da sua impressora. \ server \ file \ .inf é a localização do arquivo .inf para o seu driver.

Isso faz com que você não tenha nada, para uma impressora de instalação instalada.

    
por 07.04.2017 / 23:06