Installe Imprimante facile

Installe Imprimante facile - VB/VBA/VBS - Programmation

Marsh Posté le 08-09-2006 à 10:06:19    

Bonjour,
 
 En pleine élaboration d'un batch bien pratique jai constaté que je ne pourrais pas effectuer certainnes taches sans l'aide d'un Vbscript.. Le probleme cest que jy connais rien.
 
Rassurez vous je ne vais pas vous demander de me pondre un code tout pret ! Juste m'aiguiller sur l'eventuelle possibiltée de la création de ce script.
 
Je cherche tout simplement a mapper, installer des imprimantes réseau et locale automatiquement.
 
Mettons jai "poste1" où sont installer 2 imprimantes réseau et 1 local.. je voudrais sauvegarder la config imprimante pour la réinjecter dans "poste2" pour qu'il est exactement la meme configuration d'imprimante.
 
Jai essayer printmig sans résultat........
 
Croyez vous que cela puisse etre possible ? La difficulté sera t elle extreme ? comment pourrais-je orienter mon projet ?
 
Jaimerais avoir des conseils d'experts en la matiere !
 
Je vous remercie par avance
Bien a vous

Reply

Marsh Posté le 08-09-2006 à 10:06:19   

Reply

Marsh Posté le 08-09-2006 à 11:41:27    

Recherche Google sur [vbscript connexion imprimante]  [:killerz]  
 
Premier résultat :  
 
L'objet WshNetwork contient des informations sur le réseau Microsoft Windows, ainsi que des méthodes permettant de géer (connexion, déconnexion) des imprimantes et des partages réseau.  
 
L'objet WshNetwork est obtenu en créant une instance de l'objet COM identifié par le progID «WScript.WshNetwork« :  
 
Set WshNetwork = CreateObject("WScript.WshNetwork" )
Voici un récapitulatif des propriétés et méthodes de l'objet WshNetwork :  
 
Objet :  
Objet WshNetwork  
Propriétés :  
ComputerName  
UserDomain  
UserName  
Méthodes :  
AddPrinterConnection  
EnumNetworkDrives  
EnumPrinterConnections  
MapNetworkDrive  
RemoveNetworkDrive  
RemovePrinterConnection  
SetDefaultPrinter  
 
Ensuite, un petit tour sur la bible de l'ami JC :  
http://www.bellamyjc.org/fr/vbsobjets.html#wshnetwork
 
Pouf, pouf.


---------------
"Mon modèle, c'est moi-même."
Reply

Marsh Posté le 08-09-2006 à 11:45:31    

darkdjack a écrit :

Bonjour,
Rassurez vous je ne vais pas vous demander de me pondre un code tout pret !


Encore heureux  [:barthaliastoxik]


---------------
"Mon modèle, c'est moi-même."
Reply

Marsh Posté le 08-09-2006 à 12:17:40    


 Merci pour ces infos.. nayant jamais décortiqué le langague script ça me parait moins evident mais je vais prendre soin de noter tout ça essayer de le comparer avec des scripts déjà existant pour essayer de comprendre le language..  
 
cest quand meme plus compréhensible que du c ! lol
 
Merci Agkklr !

Reply

Marsh Posté le 08-09-2006 à 12:38:22    


 Juste une chose.. jai un peu regarder et testé des codes..
 
J'ai l'impression qu'il ny a pas de notions Automatique pour une sauvegarde de parametre d'impression et une restauration par la suite. (je me trompe ?)
 
La commande AddPrinterConnection necessite qu'on inscrive le chemin à la main je me doute..  
 
La commande EnumPrinterConnections nous montre les mappages a l'ecran mais ne les sauvegarde pas dans le but d'une restauration.
 
 La partie DRIVERS étant assuré par Printmig dans mon batch... il me manque vraiment cette satanée conception de "BACKUP" pour pouvoir "RESTORE" sur des postes clients.
 
MERci pour votre aide et toutes informations :p
 
 
 
 

Reply

Marsh Posté le 08-09-2006 à 12:57:36    

Citation :

Juste une chose.. jai un peu regarder et testé des codes..
 
J'ai l'impression qu'il ny a pas de notions Automatique pour une sauvegarde de parametre d'impression et une restauration par la suite. (je me trompe ?)


Qu'est-ce que tu entends par "notions Automatique" ?  

Citation :


La commande AddPrinterConnection necessite qu'on inscrive le chemin à la main je me doute..  


Oui, ou que tu aies une liste dans un fichier :)  

Citation :


La commande EnumPrinterConnections nous montre les mappages a l'ecran mais ne les sauvegarde pas dans le but d'une restauration.


Bah tu parses, et tu sauves dans un fichier partagé  :o

Citation :


 La partie DRIVERS étant assuré par Printmig dans mon batch... il me manque vraiment cette satanée conception de "BACKUP" pour pouvoir "RESTORE" sur des postes clients.
 
MERci pour votre aide et toutes informations :p


Pour quoi faire des drivers ? T'as des imprimantes qui datent de Mathusalem ? Ou bien t'es sous Win9x ?


Message édité par agkklr le 08-09-2006 à 12:58:24

---------------
"Mon modèle, c'est moi-même."
Reply

Marsh Posté le 08-09-2006 à 14:27:06    

Evidement je m'excuse si je n'ai pas tout les reflexes adaptés au language VbScript. Je connais pas la commande Parse :)
 
Si effectivement je peux sauver dans un fichier les imprimantes trouvé par Emumprinterconnections et qu'ensuite il puisse s'aider de ce meme fichier pour faire son Addprinterconnection alors là je suis au ange.
 
Cest tout a fait la notion "automatique" que j'attend de ce VbS. Un peu du Zero touch quoi : Je lance un script qui va tout seul reperer les imprimantes, stocker les informations dans un fichier .. et par la suite faire appel a ce meme fichier pour les réinstaller sur un autre poste.
 
Pour les drivers je suis sur un environement XP. Mais il s'agit parfois de gros photocopieur Minolta dont les drivers sont envoyés par le serveur au moment de la connection. Logiquement si la file est recréee il réinstallera les drivers.
 
Pour etre claire cest dans le but de migrer des postes sous XP. En gros sur l'ancien poste je lance le script qui detecte les imprimantes et stock linfo. Je prend le nouveau poste et je relance un script qui fera appel a ce meme fichier pour remapper les imprimantes sans avoir a faire le refaire a la main..
 
jai déjà faite toute la partie sauvegarde de fichier en .bat..  
 
je te remercie pour tes infos, chacune de tes annotations m'apprennent un nouveau truc :)
 
ça sent le week end en Vbs ...... :s   il existe aussi peut etre une option de sauvegarde dans le registre windows..


Message édité par darkdjack le 08-09-2006 à 14:43:59
Reply

Marsh Posté le 08-09-2006 à 15:13:08    

Parser, c'est pas spécifiquement du VBS...

Citation :

DEFINITION: To parse is to analyze something in an orderly way. In linguistics, to parse is to divide words and phrases into different parts in order to understand relationships and meaning. For example, English students are sometimes asked to parse a sentence by dividing it into subject and predicate, and then into dependent phrases, modifiers, and so forth.


Donc en gros, ce que je te suggère, c'est de mettre en place une fonction vbs qui va analyser le résultat du Enum, et en sortir une sorte de hachage que tu mets dans ton fichier, voire dans la registry (cf l'objet WshShel de VBS, et les méthodes RegRead, RegWrite et RegDelete).
Ensuite tu peux utiliser les infos pour référencer les imprimantes sur les autres postes  [:cend]


---------------
"Mon modèle, c'est moi-même."
Reply

Marsh Posté le 10-09-2006 à 17:21:24    

Salut,
 
JE te remercie pour ton aide... donc jai réussis a faire tout betement un REg export pour avoir un fichier .reg..
 
Ce fichier REg je le lance pour logiquement remettre les imprimantes. Mais ça ne fonctionne pas.. les clé apparaissent dans le registre mais quand je reboot elle ne sont plus visible..
 
alalal... merci si tu peux me conseiller de nouveaux.

Reply

Marsh Posté le 10-09-2006 à 18:33:19    

Bizarre... L'exécution du reg, tu l'effectues en admin ? Si ce n'est pas le cas, il serait peut-être de bon aloi de faire un bat avec un runas.


---------------
"Mon modèle, c'est moi-même."
Reply

Marsh Posté le 10-09-2006 à 18:33:19   

Reply

Marsh Posté le 10-09-2006 à 18:45:51    

Cest cool té là meme le dimanche !! ^^ :)
 
echo off
echo.
md c:\restauration
reg export hkcu\printers c:\restauration\printers.reg
reg export hklm\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers c:\restauration\printers.reg
reg export hklm\system\currentcontrolset\control\print c:\restauration\printers.reg
pause
 (effectivement là cest plus du VB)
Jobtiens un reg que je lance sur l'ordinateur cible .. mais malheuresement sans résultats !.... oui en admin car là je test chez moi  
 
ça commence a me courir mais bon.. faut que je trouve LA solution !
 
Merci en tout cas :)


Message édité par darkdjack le 10-09-2006 à 18:47:13
Reply

Marsh Posté le 10-09-2006 à 19:23:43    

Ton bat a une erreur :  
 
 
C:\>reg export hklm\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows
NT x86\Drivers c:\restauration\printers.reg
 
Erreur : trop de paramètres de ligne de commande
 
Je jette un oeil, fais-en autant, le premier qui trouve a gagné :)


---------------
"Mon modèle, c'est moi-même."
Reply

Marsh Posté le 10-09-2006 à 19:26:55    


reg export "hklm\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows
NT x86\Drivers" c:\restauration\printers.reg
 
Les " " pour éviter les problèmes d'espaces dans les chemins ;)


---------------
"Mon modèle, c'est moi-même."
Reply

Marsh Posté le 10-09-2006 à 19:27:56    

Sinon je suis pas un kador en registry, hein


---------------
"Mon modèle, c'est moi-même."
Reply

Marsh Posté le 10-09-2006 à 19:52:35    

erf oui la formule est bonne mais cela ne rajoute pas les imprimantes...
 
La vérité est donc ailleurs......... dois bien y avoir une solution, je la trouverais ;)

Reply

Marsh Posté le 10-09-2006 à 23:21:09    

Merci pour ton aide surtout ^^

Reply

Marsh Posté le 11-09-2006 à 13:35:05    

echo off
echo.
md c:\restauration
reg export "hkcu\printers" c:\restauration\printers.reg
reg export "hklm\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers" c:\restauration\printers.reg
reg export "hklm\system\currentcontrolset\control\print" c:\restauration\printers.reg
reg export "hkcu\printers\connections" c:\restauration\printers.reg
reg export "hkcu\printers\settings" c:\restauration\printers.reg
reg export "hkcu\software\lexmark\printers" c:\restauration\printers.reg
reg export "hkcu\software\microsoft\windows nt\currentversion\devices" c:\restauration\printers.reg
reg export "hkcu\software\microsoft\windows nt\currentversion\printerports" c:\restauration\printers.reg
reg export "hklm\software\microsoft\windows nt\currentversion\print" c:\restauration\printers.reg
reg export "hku\s-1-5-21-527237240-920026266-839522115-2255\printers" c:\restauration\printers.reg
reg export "hku\s-1-5-21-527237240-920026266-839522115-2255\software\microsoft\windows NT\currentVersion\devices" c:\restauration\printers.reg
pause
 
et hop ça marche !
 
seul soucis le gros chiffre qui ya devant les hku representent le nom de la session.. faut que je le remplace par un "%userprofile%" en langue regedit quoi...
 
mais sinon cest ça ^^
 

Reply

Sujets relatifs:

Leave a Replay

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