Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1931 connectés 

  FORUM HardWare.fr
  Windows & Software

  Pb de script vbs pour connexion imprimante en local

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb de script vbs pour connexion imprimante en local

n°2429094
scouzi
Posté le 05-06-2006 à 18:02:43  profilanswer
 

Bonjour à tous!
 
J'espère qu'une personne charitable peut m'éclairer dans mon dilème..... :??:  
 
Voilà,
 
J'ais crée un script en vbs pour la connection de différents lecteurs et imprimantes réseaux selon l'apartenance à un groupe. Pour ce cas pas de problème, mais là où je bloque c'est que certains postes on leur propre imprimante local et je doit les mettre en défaut.
Donc ce que je faits je met en partage une des imprimantes et dans le scripte j'explique que si le non poste est X par emple je le connecte sur l'imprimante \\X\nom-imprimante, et là IMPOSSIBLE
Alors que si je fait la demande de connexion du poste Y sur l'imprimante \\X\nom-imprimante ca marche!
 
Voici le bout de code:
 

Code :
  1.   Select Case UserGroup.name
  2. Case "population"
  3. 'IMPRIMANTE RESEAU
  4.   WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-ACCUEIL-N&B"
  5.   WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-ETATCIVIL-N&B"
  6.   WshNetwork.SetDefaultPrinter "\\SERVEUR\IMP-ACCUEIL-N&B"
  7. Dim oNetwork, sprintpath, nomposte
  8. 'recup nom du poste
  9. Set oNetwork = CreateObject("WScript.Network" )
  10. nomposte = oNetwork.ComputerName
  11. 'CONNEXION IMPRIMANTE LOCAL LES IMPRIMANTES MIS EN PARTAGE
  12.   Select case nomposte
  13.   case "POPU02"
  14.   sprintpath = "\\POPU02\impopu"
  15.   WshNetwork.AddWindowsPrinterConnection sprintpath
  16.   WshNetwork.SetDefaultPrinter "\\POPU02\impopu"
  17.   case "POPU06"
  18.   'sprintpath = "\\POPU06\impopu-election"
  19.   'WshNetwork.AddWindowsPrinterConnection sprintpath
  20.   WshNetwork.SetDefaultPrinter "\\impopu-election"
  21.   End Select


 
Je suis débutante, alors merci de votre aide! C'est super urgent!!! :jap:


Message édité par scouzi le 05-06-2006 à 21:13:43
mood
Publicité
Posté le 05-06-2006 à 18:02:43  profilanswer
 

n°2429157
scouzi
Posté le 05-06-2006 à 19:21:27  profilanswer
 

Personne ne peut m'aider :-(

n°2429299
Requin
Posté le 05-06-2006 à 22:13:22  profilanswer
 

Je t'ai modifié ton script pour avoir des instructions de debogage, j'ai aussi corrigé les petites erreurs que je voyais ou code pas très propre.
 


   bDebug = True
   Select Case LCase(UserGroup.Name)
      Case "population"  
         If bDebug Then
            MsgBox "Case Population"
         End If
         Dim oNetwork, sPrintPath, sNomPoste
 
         ' IMPRIMANTE RESEAU
         WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-ACCUEIL-N&B"
         WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-ETATCIVIL-N&B"
         WshNetwork.SetDefaultPrinter "\\SERVEUR\IMP-ACCUEIL-N&B"
         If bDebug Then
            MsgBox "Case Population : Imprimante Reseau"
         End If
 
         ' RECUPERATION NOM DU POSTE
         Set oNetwork = CreateObject("WScript.Network" )  
         sNomPoste = oNetwork.ComputerName
         If bDebug Then
            MsgBox "Case Population : Nom du poste : " & sNomPoste
         End If
 
         ' CONNEXION IMPRIMANTE LOCALE DES IMPRIMANTES MIS EN PARTAGE
         Select Case sNomPoste
            Case "POPU02"
               sPrintPath = "\\POPU02\impopu"
               If bDebug Then
                  MsgBox "Case Population : Case POPU02 : " & sPrintPath
               End If
            Case "POPU06"
               sPrintPath = "\\POPU06\impopu-election"
               If bDebug Then
                  MsgBox "Case Population : Case POPU06 : " & sPrintPath
               End If
         End Select
         
         If sPrintPath <> "" Then
            WshNetwork.AddWindowsPrinterConnection sPrintPath
            WshNetwork.SetDefaultPrinter sPrintPath
            If bDebug Then
               MsgBox "Case Population : sPrintPath : " & sPrintPath
            End If
         End If
End Select


 
Par contre ton code est illogique dans le sens où tu essaies de connecter via un partage réseau une imprimante qui est déjà disponible localement. La logique aurait été que tu la connectes uniquement si tu es sur une machine autre que la machine locale.


Message édité par Requin le 05-06-2006 à 22:16:20
n°2429689
scouzi
Posté le 06-06-2006 à 14:06:33  profilanswer
 

Je te remerci, j'ai pas encore testé...
 
Pour ta question, je t'explique: nous avons des imprimantes réseaux, où je dois les connecters selon l'appartenance d'un groupe donnée et mettre par défaut l'une des imprimantes en réseau à l'ouverture de la session de l'utilisateur, seulement un service, par leur demande, préfère mettre leur imprimante local par défaut.... :fou:  
Bref, comme je suis débutante en vbs et je ne sais comment faire, j'ai donc mis en partage leur imprimante local et dès que le non poste est est reconnu je lui demande de mettre par défaut l'imprimante local...
 
Je crois qu'on peut identifier l'imprimante local par son port LPT1 mais je ne sais pas...de plus un des postes a une imprimante par port usb...
 
bref voilà, pouvez vous m'en dire plus? Peut etre qu'il y une autre manière plus rapide sans prise de tête


Message édité par scouzi le 06-06-2006 à 14:08:54
n°2429839
Requin
Posté le 06-06-2006 à 16:19:39  profilanswer
 

Regarde ici pour comment faire avec des imprimantes locales :
http://www.bellamyjc.org/fr/vbsdow [...] ultprinter
 
Il faut en effet passer le nom du port.

n°2429913
helvetik
Posté le 06-06-2006 à 17:09:52  profilanswer
 

Hello,
 
Si l'imprimante est locale, tu n'as pas besoin de la connecter, elle est surement déjà installée... Donc tu n'as pas besoin de préciser le port.
 
Il te suffit juste de la mettre par défaut, et là, puisqu'elle est locale, il te faut juste préciser son nom... Quel soie usb ou parallèle n'importe peu.

n°2429918
scouzi
Posté le 06-06-2006 à 17:12:02  profilanswer
 

j'ai testé le debogage que tu as proposé et, il vrai que c'est bien utile :-)
Conclusion: il reconnais toutes les variables donc c'est ok mais.....apparament il ne veut exécuter la connexion et la mise par défault....c'est incroyable car si tu ajoute une nouvelle imprimante sur par exemple POPU06, manuellement, imp réseau et tu choisis forcement l'imprimante du poste en question et tu l'as met en défaut, là sa fonctionne
Bon, je vais regarder le lien et encore MERCI Requin

n°2429923
scouzi
Posté le 06-06-2006 à 17:15:35  profilanswer
 

Donc si j'ai bien compris je dois simplement mettre
 

Code :
  1. WshNetwork.SetDefaultPrinter impopu-election

Message cité 1 fois
Message édité par scouzi le 06-06-2006 à 17:16:41
n°2429925
helvetik
Posté le 06-06-2006 à 17:18:11  profilanswer
 

Ce qui donne :
   

Citation :

bDebug = True
   Select Case LCase(UserGroup.Name)
      Case "population"
         If bDebug Then
            MsgBox "Case Population"
         End If
         Dim oNetwork, sPrintPath, sNomPoste
 
         ' IMPRIMANTE RESEAU
         WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-ACCUEIL-N&B"
         WshNetwork.AddWindowsPrinterConnection "\\SERVEUR\IMP-ETATCIVIL-N&B"
         WshNetwork.SetDefaultPrinter "\\SERVEUR\IMP-ACCUEIL-N&B"
         If bDebug Then
            MsgBox "Case Population : Imprimante Reseau"
         End If
 
         ' RECUPERATION NOM DU POSTE
         Set oNetwork = CreateObject("WScript.Network" )  
         sNomPoste = oNetwork.ComputerName
         If bDebug Then
            MsgBox "Case Population : Nom du poste : " & sNomPoste
         End If
 
         ' CONNEXION IMPRIMANTE LOCALE DES IMPRIMANTES MIS EN PARTAGE
         Select Case sNomPoste
            Case "POPU02"
               WshNetwork.SetDefaultPrinter "impopu"

               If bDebug Then
                  MsgBox "Case Population : Case POPU02 : impopu par défaut"
               End If
            Case "POPU06"
               WshNetwork.SetDefaultPrinter "impopu-election"

               If bDebug Then
                  MsgBox "Case Population : Case POPU06 : impopu-election par défaut"
               End If
            CASE ELSE
               WshNetwork.AddWindowsPrinterConnection sPrintPath
               WshNetwork.SetDefaultPrinter sPrintPath

               If bDebug Then
                  MsgBox "Case Population : Case Else : sPrintPath : " & sPrintPath
               End If
         End Select
End Select


Message édité par helvetik le 06-06-2006 à 17:20:45
n°2429927
helvetik
Posté le 06-06-2006 à 17:19:15  profilanswer
 

scouzi a écrit :

Donc si j'ai bien compris je dois simplement mettre
 

Code :
  1. WshNetwork.SetDefaultPrinter impopu-election



 
Exact...

mood
Publicité
Posté le 06-06-2006 à 17:19:15  profilanswer
 

n°2429946
scouzi
Posté le 06-06-2006 à 17:30:46  profilanswer
 

ok je test

n°2429975
scouzi
Posté le 06-06-2006 à 17:59:38  profilanswer
 

L'obstacle est résolut YAOU!!!!
Un GRAND Merci.
Conclusion: y a pas de raison de mettre l'imprimante local en partage, mettre tout simplement son nom!
Thanks!
Je vous embrasse

n°2430164
helvetik
Posté le 06-06-2006 à 21:43:07  profilanswer
 

:hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  Pb de script vbs pour connexion imprimante en local

 

Sujets relatifs
Connexion wifi avec Freebox impossibleconnexion freebox via Ethernet et Wifi
[WinXP] Imprimante : empêcher l'ajout d'imprimante réseauconnexion impossible
pb de connexion freebox wifi + portable acerscript lecteur reseau sous active directory
problème de connexion à internetComment paramétrer ma connexion ADSL ?
[AIDE] Partage de fichier et imprimante avec livebox (Wifi /Ethernet) Plus de connexion suite à un virus (algsec.exe)
Plus de sujets relatifs à : Pb de script vbs pour connexion imprimante en local


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR