Lister les imprimantes installées

Lister les imprimantes installées - Win NT/2K/XP - Windows & Software

Marsh Posté le 09-12-2002 à 16:45:07    

Voilà je voudrais pouvoir lister les imprimantes installées sur des machines win98 grace à un script, batch ou vbscript dans le but de changer le port (le nom UNC du port d'impression).
 
Si quelqu'un à une petite idée.
 
Merci.

Reply

Marsh Posté le 09-12-2002 à 16:45:07   

Reply

Marsh Posté le 09-12-2002 à 16:53:22    

net view \\PC |grep Impr  
 
sauf que le |grep marche moyen sous Windows :D

Reply

Marsh Posté le 09-12-2002 à 17:55:59    

merci de ta réponse, mais moi j'aurais bien voulu lire une clef de registre qui me donne le port utilisé et changer celui ci,
apparement ca se trouve dans
HKLM\System\CurrentControlSet\Control\Print\Printers\
et puis on vois bien les imprimantes installée.
c'est sous du win98, si quelqu'un à une idée.
 
merci.

Reply

Marsh Posté le 09-12-2002 à 17:58:38    

tu as des parametres en relation avec les imprimantes dans le win.ini

Reply

Marsh Posté le 09-12-2002 à 22:42:40    

Tu peux utiliser le reg.exe du RK NT4 (ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/reg_x86.exe) pour lister les entrées dans la base:

reg query hklm\system\currentcontrolset\control\print\printers


Mais ça demande un peu de mise en forme derrière...

Reply

Marsh Posté le 10-12-2002 à 10:14:08    

merci pour ce lien, vais voir ca de suite !

Reply

Marsh Posté le 10-12-2002 à 10:24:10    

Apparement, reg.exe ne fonctionne qu'avec win NT/2K, moi je dois lister les imprimantes de postes windows 98.
Pour le win.ini, effectivement ya des choses, mais le fait de changer ne change rien dans les parametres de l'imprimantes, en revanche dans la base de registre, chaque imprimante crée une sous arboressence qui porte son nom dans :
HKLM\System\CurrentControlSet\Control\Print\Printers\  
et dans cette clef se trouve la clef "Port", si on change celle ci, le résultat fonctionne bien.


Message édité par costla le 10-12-2002 à 10:29:20
Reply

Marsh Posté le 10-12-2002 à 11:38:31    

bon bah personne à une idée alors ?
 
j'suis bloqué là, jvoi pas trop comment faire

Reply

Marsh Posté le 10-12-2002 à 11:50:31    

Hmm, je viens de lire que tu peux simplement utiliser regedit.exe /e pour exporter une partie du registre.
Dans ton cas:

regedit /e temp.reg HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Printers

Reply

Marsh Posté le 10-12-2002 à 11:51:19    

Et il y a aussi un reg.exe dans le Ressource Kit de Win98, mais pas téléchargeable à priori.

Reply

Marsh Posté le 10-12-2002 à 11:51:19   

Reply

Marsh Posté le 10-12-2002 à 11:56:58    

Si tu as Windows Scripting Host installé sur tes postes :
 


Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set oPrinters = WshNetwork.EnumPrinterConnections
WScript.Echo "Network printer mappings:"
For i = 0 to oPrinters.Count - 1 Step 2
   WScript.Echo "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i+1)
Next


 
Portion de code provenant du site MSDN

Reply

Marsh Posté le 10-12-2002 à 12:09:58    

merci Guru pour le lien, je l'avais trouvé mais seulement ca donne les imprimantes mappé, mais le résultat de ce script me donne rien du tout, mes imprimantes sont sur un server Novell, moi je voudrais juste changer le nom du port de chaque machine qui est sous la forme \\monserver\imp.
Avec le vbscript, j'arrive pas à interroger les sous clefs de :
HKLM\System\CurrentControlSet\Control\Print\Printers\
avec la commande WshShell.RegRead. Apparement on peut qu'interroger des valeurs.

Reply

Marsh Posté le 10-12-2002 à 12:22:42    

Code :
  1. Dim WshShell
  2. Set WshShell = WScript.CreateObject("WScript.Shell" )
  3. WScript.Echo WshShell.RegRead("HKLM\System\CurrentControlSet\Control\Print\Printers\HP LaserJet 4050 Series PCL 5e\port" )


 
si je fais ca ca me renvoi bien le nom du port de l'imprimante, seulement le probleme c'est que le "HP LaserJet 4050 Series PCL 5e" est le nom de l'imprimante, en fonction de ce nom une nouvelle arborescence est créée.
Voila le truc, comment je peut contourner ce proleme, j'ai essayé de remplacer par une "*" mais ca marche pô !

Reply

Marsh Posté le 10-12-2002 à 13:29:49    

un pti  :bounce:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed