250 imprimantes à creer

250 imprimantes à creer - Windows & Software

Marsh Posté le 30-05-2005 à 13:01:57    

bonjour,
 
Comment faire quand on a 300 imprimantes a creer :
voici leurs  caracteristiques :

Citation :


 - NOM_IMP
 - Port :
  - Local : Standard TCP/IP
  - @ IP Fixe (la meme pour toutes les imprimantes)
  - Nom du Port : NOM_IMP
  - Protocole : LPR
   - Nom de la file d'attente : NOM_IMP
   - Comptage des Octes LPR Activé
  - Pilote : Generic
  - Impression par défaut : Taille du papier : X
  - Parametres du peripherique :
   - Alim. continue - sans s: X
   - Feuille à feuille: X
   - Alim. continue - avec s: X


 
J'ai etudié un peu prnadmin mais je ne peux pas passer assez de parametres
Qu'auriez vous comme solution? Je fais appel a vous car j'en peu plus de creer ces imprimantes...
 
Merci beaucoup

Reply

Marsh Posté le 30-05-2005 à 13:01:57   

Reply

Marsh Posté le 30-05-2005 à 13:18:21    

Je ne saurais pas répondre, mais la réponse m'intéresse...on a plus de 300 imprimantes réseau à déployer de la même façon.

Reply

Marsh Posté le 31-05-2005 à 17:27:03    

Il y a bien longtemps, j'avais utilisé Microsoft ScriptIt. C'est un enregistreur de macro sous windows. Il génère par la suite un fichier texte des différents actions qu'il a enregistrées. Il reste à modifier ce fichier (en générale avec une petite moulinette maison ou par Copier/Coller) pour tes 300 imprimantes.  Le taux de réussite : 95% sans echec.

Reply

Marsh Posté le 01-06-2005 à 09:35:28    

OK merci je vais tester

Reply

Marsh Posté le 03-06-2005 à 14:25:51    

Bon en fait je me suis débrouillé avec un srcipt AutoIt
Il me permet de passer des parametre dans un fichier que j'ai créé et automatise l'instalation par des SendKey (400 ligne lol)
 
Je viens de finir les tests, il est quasiment impossible de se tromper (a part dans le fichier de conf) mais bon ...
 
Si quelqu'un le veut, il n'a qu'a le demander sur le Forum parceque si ca interresse pas, je vais pas m'amuser à modifier les parametre (secret professionnel) dans le script.
 

Reply

Marsh Posté le 04-06-2005 à 09:24:10    

Ton script m'intéresse bien...si tu veux bien m'en faire profiter, envoie-moi un message privé, je te communiquerai mon e-mail. Merci ;)

Reply

Marsh Posté le 06-06-2005 à 08:59:27    

Voici le scipt :
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
;Options
opt( "SendKeyDelay", 20)
 
;*********************************Debut*******************************
$recommencer=1
while $recommencer == 1 ;permet de faire plusieurs boucles
 ;Chargement du fichier ConfigImp.cfg
 $file = FileOpen( @ScriptDir &"\ConfigImp.cfg", 0)
 
 ; Verification de l'existance du fichier et verification si l'ouverture s'est bien passée
 If $file = -1 Then
  MsgBox(0, "Error", "Le fichier "& @CRLF & @ScriptDir &"\ConfigImp.cfg"& @CRLF &"est introuvable. ou n'a pas pu etre ouvert" )
  Exit
 EndIf
 ; On va demander le client visée parametre [Mapping]
 $client="void"
 
 ; On lit ligne par ligne tant que EOF n'est pas trouvé
 $line="0"
 ;On se place sur [Cli]
 While not ($line = "[Cli]" )
  $line = FileReadLine($file)
  If @error = -1 Then ExitLoop  
 Wend
 ;On charge Parametre par parametre
 While not ($line = "[EndCli]" )
  $line = FileReadLine($file)
  If @error = -1 Then ExitLoop
  If StringLeft($line, 2) == "#?" Then
   $answer=MsgBox(1,"Quelle client?",StringMid ( $line, 3  ))  
   If $answer = 1 Then
    $client = StringMid ( $line, 3  )
    ExitLoop
   EndIf
  EndIf
 Wend
 
 ;Test si le parametre a été selectionné
 If $client=="void" Then
  MsgBox(0, "Error", "Pas de reponse" )
  Exit
 EndIf
 
 
 ; On charge le serveur Cli
 While not ($line = "#?"&$client)
  $line = FileReadLine($file)
  If @error = -1 Then ExitLoop  
 Wend
 
 If $line = "#?"&$client Then
  $AdrIP = FileReadLine($file)
 EndIf
 
 FileClose($file)
 ;fermeture du fichier de configuration
 
 ;Test Pour voir si on ouvre ou pas une nouvelle fenetre imprimante
 WinActivate("Imprimantes" )
 winwaitactive("Imprimantes","",1)
 sleep(1000)
 
 If not Winactive ("Imprimantes" ) Then
  ;debut de l'ouverture de la fenetre imprimantes
  run ("control" )
  ;attente de la fenetre Panneau de configuration
   winwaitactive("Panneau de configuration" )
   send("imprimantes" )
  ;attente de la selection
   winwaitactive("Panneau de configuration","imprimantes locales ou en réseau" )
   send("{ENTER}" )
   sleep(100)
  ;fin de l'ouverture de le fenetre imprimantes
 EndIf
 
 ;attente de la fenetre imprimante
  winwaitactive("Imprimantes" )
  send ("ajout d'imprimante" )
  sleep(100)
  winwaitactive("Imprimantes","1 objet(s) sélectionné(s)" )
  send ("{ENTER}" )
  sleep(100)
   
   
 
 ;Attente de la fenetre d'assistant
  winwaitactive ("Assistant Ajout d'imprimante" )
   
 ;On va demander le nom d'imprimante
 $decision = 4 ;ce nombre correspond à la touche RETRY
 
 While $decision == 4
 
  ;ouverture du fichier de configuration
  $file = FileOpen(@ScriptDir &"\ConfigImp.cfg", 0)
 
  ; Test de l'ouverture du fichier
  If $file = -1 Then
   MsgBox(0, "Error", "Le fichier "& @CRLF & @ScriptDir &"\ConfigImp.cfg"& @CRLF &"est introuvable. ou n'a pas pu etre ouvert" )
   Exit
  EndIf
 
 
  ; On lit ligne par ligne
  $line="0"
  $Format="void"
  ;On se positionne sur le Format Cli
  While not ($line = "[FormatCli]" )
   $line = FileReadLine($file)
   If @error = -1 Then ExitLoop  
  Wend
   
  ;On recherche le Format pour le client Selectionnée
  While not ($line = "[EndFormatCli]" )
   $line = FileReadLine($file)
   If @error = -1 Then ExitLoop
   If $line == "#?"&$client Then
    $line = FileReadLine($file)
    $Format = $line  
   EndIf
  WEnd
   
  ;Fermeture du fichier de config
  FileClose($file)
   
  ;Test du Format
  If $Format == "void" Then
   ;Cas ou le format n'est pas renseigné
   $IMP= inputbox("installation "&$client, "entrez le nom d'imprimate" )
   $cause = "Le format n'est pas supporté!"
   $Temp = "Erreur"
  else
   ;Cas ou le format est renseigné
   $IMP= inputbox("installation "&$client, "entrez le nom d'imprimate"& @CRLF &"Format : "&$Format& @CRLF &"Serveur Cli "&$client&" : "&$AdrIP,$Format)
   sleep(100)
   $i = 1
   $Temp = "void"
   ;Test du Format
   If not(StringLen($IMP) == StringLen($Format)) Then ;Longueur du nom doit etre égale à la longueur du format
    $Temp = "Erreur"
    $cause = "La longueur du nom de l'imprimante est different de celui du Format"
   EndIf
   
   While $i<StringLen($Format) and not($Temp == "Erreur" )
    If StringMid($IMP, $i, 1) == StringMid ( $Format, $i, 1) Then ;Les caractere doivent etre égaux (sauf cas suivant)
     ;OK
    Else
     If StringMid ( $Format, $i, 1) == 0 Then ;Si le caractere est "0", on peut mettre ce que l'on veut
      ;OK
     Else
      $Temp="Erreur"
      $cause= "Lettre n°"&$i&" n'entre pas dans le cadre du format "&$Format
     EndIf
     
    EndIf
     
    $i = $i+1
   Wend
   
  EndIf
   
  ;Test du resultat
  If $Temp == "Erreur"  Then
   $decision=MsgBox(18,"Erreur","Format Non cohérent "& @CRLF &"avec le nom de l'imprimante"& @CRLF &"IMP :"&$IMP& @CRLF &"Cause : "& @CRLF &$cause)
  Else
   $decision = 5 ;Correspond à Continuer
  EndIf
   
  If $decision == 3 Then ;Correspond à Abandonner
   Exit
  EndIf
  If $decision == 5 Then ;Correspond à Continuer
   ExitLoop
  EndIf
 
 Wend
 
 
 ;Attente de la fenetre d'assistant
  winwaitactive ("Assistant Ajout d'imprimante" )
  send ("!s" )
  sleep(100)
  send ("!s" )
  sleep(100)
  send ("!c" )
  sleep(100)
  send ("s" )
  sleep(100)
  send ("{ENTER}" )
  sleep(100)
 
 ;attente de la fenetre d'ajout de port
  winwaitactive("Assistant Ajout de port imprimante TCP/IP standard" )
  send ("!s" )
  sleep(100)
  send ("!d" )
  sleep(1000)
  Send ($AdrIP)
  sleep(100)
  send ("{TAB}" )
  sleep(100)
  send ($IMP)
  sleep(100)
  send ("!s" )
  sleep(100)
 
 ;attente de la fenetre d'ajout de port
  winwaitactive("Assistant Ajout de port imprimante TCP/IP standard","Type de périphérique" )
  send ("!t" )
  sleep(100)
  send ("Generic Network Card" )
  sleep(100)
  send ("!e" )
  sleep(100)
  send ("!r" )
  sleep(100)
  send ("!l" )
  sleep(100)
  send ("!f" )
  sleep(100)
  Send ($IMP)
  sleep(100)
  send ("!t" )
  sleep(100)
  send ("{ENTER}" )
  sleep(100)
  send ("!s" )
  sleep(100)
  send ("{ENTER}" )
  sleep(100)
 
 ;attente de la fenetre suivante
  winwaitactive("Assistant Ajout d'imprimante","Sélectionnez le fabricant et le modèle de votre imprimante" )
  send ("!t" )
  sleep(100)
  send ("h" )
  sleep(2000)
  send ("generic" )
  sleep(100)
  send ("!i" )
  sleep(100)
  send ("generic / text only" )
  sleep(100)
  send ("!s" )
  sleep(100)
 
 ;attente de la fenetre suivante
  winwaitactive("Assistant Ajout d'imprimante","Voulez-vous conserver le pilote existant" )
  send ("!c" )
  sleep(100)
  send ("!s" )
  sleep(100)
 
 
 ;attente de la fenetre suivante
  winwaitactive("Assistant Ajout d'imprimante","Voulez-vous que vos programmes Windows utilisent " )
  send ("!m" )
  sleep(100)
  send ($IMP)
  sleep(100)
  send ("!N" )
  sleep(100)
  send ("!s" )
  sleep(100)
 
 ;attente de la fenetre suivante
  winwaitactive("Assistant Ajout d'imprimante","Indiquez si vous voulez que cette imprimante" )
  send ("!N" )
  sleep(100)
  send ("!s" )
  sleep(100)
 
 ;attente de la fenetre suivante
  winwaitactive("Assistant Ajout d'imprimante","Voulez-vous imprimer une page de test ?" )
  send ("!N" )
  sleep(100)
  send ("!s" )
  sleep(100)
  send("{ENTER}" )
 
 
 
 ;attente de la selection
  WinActivate("Imprimantes" )
  winwaitactive("Imprimantes" )
  sleep(1000)
  Send ($IMP)
  sleep(100)
  Send ("!f" )
  sleep(100)
  Send ("p" )
  sleep(100)
 
 ;attente de la fenetre imprimante
  winwaitactive($IMP&" Propriétés" )
  Send ("+{TAB}" )
  sleep(100)
  Send ("{RIGHT}" )
  sleep(100)
  Send ("{RIGHT}" )
  sleep(100)
  Send ("{RIGHT}" )
  sleep(100)
 
 ;attente de l'onglet Avancé
  winwaitactive($IMP&" Propriétés","Impression par défaut..." )
  Send ("!i" )
  sleep(100)
 
 
 
 
 ;attente de la fenetre Impression par defaut
  winwaitactive($IMP&" Impression par défaut" )
  Send ("!v" )
  sleep(100)
 
 ;attente de la fenetre Options avancées Generic / Text Only
  winwaitactive("Options avancées Generic / Text Only" )
  Send ("{RIGHT}" )
  sleep(100)
  Send ("Formulaire" )
  sleep(100)
 
 ;attente de la selection de Formulaire
  winwaitactive("Options avancées Generic / Text Only","Formulaire" )
  send("{ENTER}" )
  sleep(100)
 
 ;attente de la fenetre Impression par defaut
  winwaitactive($IMP&" Impression par défaut" )
  Send ("{ENTER}" )
  sleep(100)
 
 ;attente de l'onglet Avancé
  winwaitactive($IMP&" Propriétés","Impression par défaut..." )
  Send ("{RIGHT}" )
  sleep(100)
  Send ("{RIGHT}" )
  sleep(100)
 
 ;attente de l'onglet Parametre du peripherique
  winwaitactive($IMP&" Propriétés","TreeView" )
  Send ("{TAB}" )
  sleep(100)
  Send ("{RIGHT}" )
  sleep(100)
  Send ("Formulaire" )
  sleep(100)
  Send ("{LEFT}" )
  sleep(100)
  Send ("{DOWN}" )
  sleep(100)
  Send ("{RIGHT}" )
  sleep(100)
  Send ("Formulaire" )
  sleep(100)
  Send ("{LEFT}" )
  sleep(100)
  Send ("{DOWN}" )
  sleep(100)
  Send ("{RIGHT}" )
  sleep(100)
  Send ("Formulaire" )
  sleep(100)
 
 
 ;attente de la fenetre Impression par defaut
  winwaitactive($IMP&" Propriétés","Formulaire" )
  Send ("{ENTER}" )  
 
 ;On demande si on veut recommencer
 $reponse = MsgBox(36,"Imprimante Installée","Voulez vous recommencer?" )
 If $reponse == 7 Then
  Exit
 EndIf
 
WEnd
;*********************************Fin*******************************


Message édité par saez_aoe le 06-06-2005 à 09:04:48
Reply

Marsh Posté le 06-06-2005 à 09:00:28    

Voici le fichier de conf :
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Ce fichier Doit etre placé dans le meme repertoire que le script d'execution
;Syntaxe :
;
;[Type de Parametre]
;
;#?Parametre1
;Valeur1
;
;#?Parametre2
;valeur2
;
;[EndType de Parametre]
 
 
[Cli]
 
#?client1
10.10.10.1
 
#?client2
10.10.10.1
 
#?Test
Z.Z.Z.Z
 
[EndCli]
 
[FormatCli]
 
#?client1
1A00Z000
 
#?client2
2A00Z000
 
[EndFormatCli]

Reply

Marsh Posté le 06-06-2005 à 15:00:20    

Merci pour le retour, je suis sûr que ca pourra être utile a pas mal de monde

Reply

Marsh Posté le 07-06-2005 à 09:52:39    

Quelques explications:
 
-Tout d'abord, je l'ai fait sur un windows 2000 server, donc je n'ai pas testé sur d'autres OS, il se peut que ca plante.
- Le langage est Autoit V3, un coup de google et vous trouverez facilement, il est tres facile à aborder.
- on peut le faire pour plusieurs client ( parametré dans le fichier ConfigImp.cfg
- Le format que l'on utilise est le Format Formulair, à remplacer par le votre ou à supprimer si vous voulez utiliser A4 (mais en principe, il faut un formulaire spécial)
- je vous recommende Crimson Editor et refaire les alignements pour y voir plus clair.
- Il y a beaucoup de Controle sur le nom d'imprimante, vous pouvez le supprimer mais il est plus sécurisant lorsque l'on a une grande liste à créer d'éviter les erreur
- étant donné que j'ai modifié quelques nom poir le publier, il est preferable de le tester sur topus les parametres et controles que j'ai fait


Message édité par saez_aoe le 07-06-2005 à 09:53:25
Reply

Sujets relatifs:

Leave a Replay

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