8 votes

Comment ajouter un port d'imprimante TCP/IP standard à partir d'une ligne de commande ?

Existe-t-il un moyen d'utiliser Rundll32.exe tcpmonui.dll,LocalAddPortUI à partir d'une ligne de commande pour ajouter un port TCP/IP standard pour une imprimante ?

Ou tout autre moyen d'ajouter un port d'imprimante TCP/IP standard à partir d'une ligne de commande.

13voto

Chris Points 296

Pour que d'autres puissent trouver cette information, voici l'adresse exact (de cmd.exe ) que j'exécute pour ajouter de manière programmée une imprimante réseau sous Windows 7 (cela semble être assez rare, même après beaucoup de recherches sur Google) :

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

(si vous ne le saviez pas, comme moi je ne le savais pas, ^ est le caractère de continuation de ligne dans cmd.exe). Vous devrez probablement utiliser un autre inf que celui indiqué ci-dessus. J'ai parcouru tous les fichiers dans C:\Windows\inf à la recherche du exact le texte de mon pilote d'imprimante (HP LaserJet 4200/4300 PCL6") pour découvrir celui dont j'ai besoin.

Une autre astuce utile consiste à exécuter une ligne unique PowerShell pour supprimer toutes les anciennes imprimantes existantes (si ce n'est pas évident, cela supprimera toutes les imprimantes que vous avez actuellement installées) :

powershell -command "foreach ($p in Get-WmiObject Win32_Printer) {$p.Delete()}"

2voto

Greg Buehler Points 1186

Tu veux dire comme :

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

note :

  • cela fonctionne avec les adresses IP, pas seulement avec les URI.
  • vous pouvez reboucler une imprimante locale NET USE LPT1: \\127.0.0.1:9100

1voto

MALeamy Points 42

D'après este vous pouvez utiliser la commande prnport dans XP.

0voto

djhowell Points 3693

Cette page suggère que ce n'est pas possible, à moins que le port TCP/IP n'existe déjà :

Remarque L'exemple de syntaxe suivant fonctionne correctement tant que la norme TCP/IP sont créés :

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

Si vous ne saisissez pas le nom de l'imprimante correctement, ou si vous spécifiez une imprimante qui n'est pas connectée au serveur, les ports TCP/IP standard ne sont pas créés, et vous pouvez recevoir le message d'erreur...

0voto

ThatoneITguy Points 11

Ce fil est Necro'd mais voici comment je procède pour installer des imprimantes :

C'est le script que j'utilise pour installer les copieurs et les imprimantes lorsque nous faisons une réinstallation bare metal de 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"

Veillez à remplacer le 000.000.000.000 par l'adresse IP de votre imprimante. \server\file\.inf est l'emplacement du fichier .inf de votre pilote.

Cela vous permet de passer d'une situation où vous n'avez rien, à une imprimante installée et qui fonctionne.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X