Ajout imprimante sur port IP

Fermé
dje-dje Messages postés 10417 Date d'inscription mardi 6 janvier 2004 Statut Modérateur Dernière intervention 28 janvier 2011 - 26 janv. 2005 à 12:33
 gwenndu - 7 mars 2009 à 11:17
Bonjour,

Je cherche un script me permettant d'ajouter une imprimante local, sur un port IP (Qu'il faut créer à la volée SVP!) et en pouvant spécifier l'emplacement des drivers...

Est-ce que quelqu'un à ca - tout fait ou à peu près- sous le coude?

Merci

a+
dje-dje

7 réponses

Hello !
Merci pour ce bout de code que j'ai un petit peu remanié pour y mettre des paramètres.
J'ai donc creer le fichier CREERPRINTER.CMD qui contient les appels à printui.dll. Ce batch est appelé par un autre batch avec la commande suivante : CREERPRINTER.CMD %CD% qui permet lorsque le tout est sauvegardé sur une clé USB de s'affranchir de la connaissance de la lettre du lecteur et du répertoire de base dans lequel on se trouve.
Pour le reste j'ai gardé la même arborescence.

@Echo off
set chemin=%1
cd %chemin%
set lecteur=%chemin:~0,2%
%lecteur%

set AdrIP=10.189.62.234
set ImprName=RICOH Aficio 3030 PCL 6
set DriverPath=.\Aficio3030\OEMSETUP.INF

::creation du port d'impression
echo Creation du port d'impression "%AdrIP%"
cd _Ports
regedit /S %AdrIP%.reg
cd ..
sleep 2

::redemarrage du service spouleur d'impression
net stop "Spouleur d'impression"
net start "Spouleur d'impression"

::creation de l'imprimante
echo Installation de l'imprimante '%ImprName%' sur le port '%AdrIP%' en cours...
rundll32 printui.dll,PrintUIEntry /if /f %DriverPath% /b "%ImprName%" /r "IP_%AdrIP%" /m "%ImprName%"

::declaration d'imprimante par defaut
@set /P SD= Installer %ImprName% par defaut (o/n) ?
if %SD% EQU n goto goshut
if %SD% EQU N goto goshut
echo Declaration de l'imprimante par defaut...
rundll32 printui.dll,PrintUIEntry /y /n "%imprname%"
:goshut
2
Je cherche la même info que "dje-dje" mais pour NT et 2k.
Un p'tit script en VB (ou autre) serait le bienvenue.
J'ai aussi regardé sur le tchecnet mais la solution n'est que pour 2k3 et xp.
a+
0
Bonjour,
Désolé d'up le topic mais j'aimerais bien des explications concernant le script de Patrick qui est donner sur le tas.
Je ne comprend pas le but de "cd _Ports".
De plus, le sleep ne fonctionne pas SI on ne dispose pas de l'exe.. !
Bref, un peux d'explication sur le script serait intéressant :)
Merci bien.
Jo.
0
Hello !
Le sous-dossier _Ports est là pour stocker les fichiers .reg qui servent à enregistrer le port IP dans la base de registre.
Le sleep est optionnel, on peut l'enlever
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bjr
je suis bien content de trouver ce genre de script.
aujkourd'hui je deploye des serveur SBS 2008 x 64.
mes drivers d'imprimante sont natifs en 2008X64 dans le noyau de l'OS ( brother et epson !!)

anciennement les utilisateurs se connectaient via un simple con2prt.
or aujourd'hui n'ayant pas de pilottes xp, 2000 x 32 compatibles avec celui de SBS je suis enmmerdé.

(bien sur j'ai essayé de rajouter les pilottes dans l'option de partage des imp... )

je vais donc deployer mes impriamnte via script

merci
0
dje-dje Messages postés 10417 Date d'inscription mardi 6 janvier 2004 Statut Modérateur Dernière intervention 28 janvier 2011 758
27 janv. 2005 à 11:25
J'ai cherché un peu de mon côté et j'ai trouvé ca sur les Technet:

http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/Default.asp?url=/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/prncnfg.asp


http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/Default.asp?url=/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/prnport.asp


Est-ce que qqn qui touche un peu à vb peut-me dire comment je fais pour les lier?
Comment je lui donne un driver spécifique à mon imprimante? (Au cas ou il ne fasse pas partie de ceux intégrés dans windows)

Merci

a+
dje-dje
-1
dje-dje Messages postés 10417 Date d'inscription mardi 6 janvier 2004 Statut Modérateur Dernière intervention 28 janvier 2011 758
29 mars 2005 à 21:02
Ce qui marche pour Xp doit fonctionner pour 2000.
Pour NT c'est a tester...

a+
dje-dje
-1
Quelques années plus tard, mais bon :)

Avec une arborescence comme suit:
+ _Ports (contient les fichiers .reg permettant de creer des ports imprimantes pour IP)
+ nom_impr1 (contient les fichiers drivers de l'imprimante impr1)
+ nom_impr2 (contient les fichiers drivers de l'imprimante impr2)
impr1.cmd (script d'ajout de l'imprimante impr1 local sur port IP)
impr2.cmd (script d'ajout de l'imprimante impr1 local sur port IP)

Je prends pour exemple une HP2420.
Voilà à quoi ressemble un fichier .reg de creation de port (ce fichier peut eventuellement différer pour des configurations particulieres de ports en fonction des imprimantes, pour trouver les valeurs modifiees dans un registre, je conseille l'utilitaire regshot qui permet de comparer deux photos d'une base de registre - avant et apres une install manuelle par exemple :)):

-------------
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\IP_001.002.003.004]
"Protocol"=dword:00000002
"Version"=dword:00000001
"HostName"=""
"IPAddress"="001.002.003.004"
"HWAddress"=""
"PortNumber"=dword:00000203
"SNMP Community"="public"
"SNMP Enabled"=dword:00000001
"SNMP Index"=dword:00000001
"Queue"="PASSTHRU"
"Double Spool"=dword:00000000
-------------

IP_001.002.003.004 est le nom du port.

Et voilà le fichier .cmd permettant d'installer automatiquement une imprimante:

-------------
::
::Script de déploiement d'une Imprimante HP2420 sur le port 001.002.003.004
::

@echo off

::creation du port d'impression
echo Creation du port d'impression 001.002.003.004...
regedit /S .\_Ports\001.002.003.004.reg

::redemarrage du service spouleur d'impression
net stop "Spouleur d'impression"
net start "Spouleur d'impression"

::creation de l'imprimante
echo Installation de l'imprimante 'HP2420' sur le port '001.002.003.004' en cours...
rundll32 printui.dll,PrintUIEntry /if /f .\HP2420\hpc24x0d.inf /b "auto-HP2420" /r "IP_001.002.003.004" /m "HP LaserJet 2420 PS"

::declaration d'imprimante par defaut
echo Declaration de l'imprimante par defaut...
rundll32 printui.dll,PrintUIEntry /y /n "auto-HP2420"
-------------

pour plus d'infos:
rundll32 printui.dll,PrintUIEntry /?

et le tour est joué! copier coller pour plusieurs imprimantes, la dernière installée avec ces scripts sera l'imprimante par défaut.

emertyl
0