Installe Imprimante facile - VB/VBA/VBS - Programmation
Marsh Posté le 08-09-2006 à 11:41:27
Recherche Google sur [vbscript connexion imprimante]
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.
Marsh Posté le 08-09-2006 à 11:45:31
darkdjack a écrit : Bonjour, |
Encore heureux
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 !
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
Marsh Posté le 08-09-2006 à 12:57:36
Citation : Juste une chose.. jai un peu regarder et testé des codes.. |
Qu'est-ce que tu entends par "notions Automatique" ?
Citation : |
Oui, ou que tu aies une liste dans un fichier
Citation : |
Bah tu parses, et tu sauves dans un fichier partagé
Citation : |
Pour quoi faire des drivers ? T'as des imprimantes qui datent de Mathusalem ? Ou bien t'es sous Win9x ?
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..
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
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.
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.
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
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é
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
Marsh Posté le 10-09-2006 à 19:27:56
Sinon je suis pas un kador en registry, hein
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
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 ^^
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