De acordo com nesta página você pode usar o comando prnport no XP.
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.
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()}"
você quer dizer:
NET USE [local port to bind to ie LPT1] \ComputerName\printer_share /PERSISTENT:YES
nota:
NET USE LPT1: \127.0.0.1:9100
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...
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.
Tags command-line windows batch printer