[R] Imprimante reseaux

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
africanism
Niveau 4
Niveau 4
Messages : 85
Enregistré le : mar. 24 juin 2008 20:05
Status : Hors ligne

[R] Imprimante reseaux

#1

Message par africanism »

Bonjour a tous
je voudrais cree un script pour ajoute des port tcp/ip dans le registre et par la suite installer l'imp
dans mon script j'ai un popup qui demande quel imp on veut
quand je selectionne l'imp par rapport a l'imp choisi
il renseigne l'adresse ip.
voici mon script car je bloque

Code : Tout sélectionner

#include <GUIConstantsEx.au3>

#Region ### START Koda GUI section ###
$Form1 = GUICreate("Menu", 250, 250, -1, -1)
$Imp = GUICtrlCreateCombo("", 30, 75, -1, -1)
GUICtrlSetData(-1, "$P0000001|$P0000002", "P0000001")
$OK = GUICtrlCreateButton("OK", 65, 110, 129, 113, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$P0000001 = "7.24.120.5"
$P0000002 = "7.24.120.6"


While 1
    $Msg = GUIGetMsg()
    Select
        Case $Msg = $GUI_EVENT_CLOSE
            ExitLoop

        Case $Msg = $OK

            ;; Stop the Print Spooler service
            RunWait('cmd /c net stop "print spooler"')

            ;; Right the Registry Values for the IP port
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "Protocol", "REG_DWORD", "00000001")
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "Version", "REG_DWORD", "00000001")
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "HostName", "REG_SZ", GUICtrlRead($Imp))
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "HWAddress", "REG_SZ", "")
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "IPAddress", "REG_SZ", "")
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "PortMonMibPortIndex", "REG_DWORD", "00000001")
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "PortNumber", "REG_DWORD", "00009100")
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "SNMP Community", "REG_SZ", "public")
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "SNMP Enabled", "REG_DWORD", "00000001")
            RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\Standard TCP/IP Port\Ports\" & GUICtrlRead($Imp), "SNMP Index", "REG_DWORD", "00000001")

            ;; Start the Print Spooler Service
            RunWait('cmd /c net start "print spooler"')
            RunWait('cmd /c net stop "print spooler"')
            RunWait('cmd /c net start "print spooler"')

            ;; Install the printer
            ;RunWait(@ComSpec & ' /c rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f c:\disk1\oemsetup.inf /r "IP_& GUICtrlRead($Imp)" /m "Ricoh Test" /Z')

            ;; Reset to Regular user
            ;RunAsSet()
            Exit


    EndSelect

WEnd
Modifié en dernier par africanism le mer. 03 mars 2010 10:22, modifié 2 fois.
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: [..] Imprimante reseaux

#2

Message par jl56 »

bonjour

j'ai plusieurs remarques

-pour ajouter un port j'utilise le script vbs prnport.vbs que je lance par
RunWait("cscript " & @SystemDir & "\prnport.vbs .............. et les options qu'il te faut
dans le fichier tu a les explications. ce fichier est dans le system windows recherche le

-en modifiant directement le registre je n'ai pas testé
sur mon pc ces infos sont sur la clé
"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports......

-si tu dois utilisé la même valeur ce n'est pas la peine de relire à chaque fois ta combo
stocke directement au début ex $port=GUICtrlRead($Imp) et modifie tes lignes en conséquence.

-pour la ligne
RunWait(@ComSpec & ' /c rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f c:\disk1\oemsetup.inf /r "IP_& GUICtrlRead($Imp)" /m "Ricoh Test" /Z')
"Ricoh Test" est censé être le nom précis du pilote cela m'étonnerai que ce soit le cas

et si tu installe comme moi les imprimantes avec le port ip il n'y a pas intérêt de la partager ,ce que fait l'option /z

je suppose que tu connais demarrer executer
rundll32 printui.dll,PrintUIEntry /?

pour avoir la syntaxe complete de cette commande

a+ JL56
africanism
Niveau 4
Niveau 4
Messages : 85
Enregistré le : mar. 24 juin 2008 20:05
Status : Hors ligne

Re: [..] Imprimante reseaux

#3

Message par africanism »

merci pour ta reponse comment je trouve le nom precis du pilote
?
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: [..] Imprimante reseaux

#4

Message par jl56 »

bonjour

pour le nom du pilote
Sur un poste ou l'imprimante est installée dans les propriétés de l'imprimante
sur l'onglet général sur la ligne modèle: ..... ici tu peux copier le nom avec la souris

ou dans l'onglet avancé sur la combo pilote


j'ai retrouvé quelques notes

pour le script vbs dans une fenetre dos et si tu es en XP tape (le chemin est différent su vista et seven )
cscript c:\windows\system32\prnmngr.vbs /?
pour avoir l'aide sur cette commande


ex d'utilisation avec ton ip 7.24.120.5 toujours dans une fenetre dos tape ou copie la ligne suivante
cscript c:\windows\system32\prnport.vbs -a -r IP_7.24.120.5 -h 7.24.120.5 -o raw -n 9100

ensuite tape
rundll32 printui.dll,PrintUIEntry /if /b "Imprimante test" /f %windir%\inf\ntprint.inf /r "IP_7.24.120.5" /m "AGFA-AccuSet v52.3"

et maintenant tu as sur ton pc une nouvelle "imprimante test" paramétrée sur le port ip 7.24.120.5 avec le pilote "AGFA-AccuSet v52.3"

et ce en quelques secondes

après tu adaptes tous ca avec ton script autoit


A+ JL56
africanism
Niveau 4
Niveau 4
Messages : 85
Enregistré le : mar. 24 juin 2008 20:05
Status : Hors ligne

Re: [..] Imprimante reseaux

#5

Message par africanism »

merci a tous ca va racourcir mon script c'est cool
africanism
Niveau 4
Niveau 4
Messages : 85
Enregistré le : mar. 24 juin 2008 20:05
Status : Hors ligne

Re: [..] Imprimante reseaux

#6

Message par africanism »

re bonjour a tous
voila quand je met cette commande dans le script ca ne fonctionne pas windows xp

Code : Tout sélectionner

RunWait('cmd /c cscript C:\Windows\System32\prnport.vbs -a -r IP_7.24.120.5 -h 7.24.120.5 -o raw -n 9100')
autre chose comment je peut faire pour qu'il n'ouvre pas le dossier de extraction apres extract.

Code : Tout sélectionner

RunWait('C:\Program Files\Winzip\WINZIP32.EXE -min -e c:\temp\disk1.zip c:\temp\')
cdt
Avatar du membre
jl56
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mer. 24 oct. 2007 22:42
Localisation : 56000
Status : Hors ligne

Re: [..] Imprimante reseaux

#7

Message par jl56 »

bonjour

est ce que cela fonctionne en dos déjà pour commencer

je lance la commande comme ceci

Code : Tout sélectionner

RunWait("cscript " & @SystemDir & "\prnport.vbs -d -r " & $nomporta[$p], "", @SW_HIDE)
pour le winzip je ne connais pas
je préfère et de loin 7zip
http://www.spiroo.be/7zip/

A+ JL56
africanism
Niveau 4
Niveau 4
Messages : 85
Enregistré le : mar. 24 juin 2008 20:05
Status : Hors ligne

Re: [..] Imprimante reseaux

#8

Message par africanism »

c'est bon j'ai trouve voici le code pour extraire avec winzip en dos .

Code : Tout sélectionner

RunWait('C:\Program Files\Winzip\wzunzip.EXE -e c:\temp\disk1.zip c:\temp\disk1')
Répondre