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

 


Dernière réponse
Sujet : Pb de script vbs pour connexion imprimante en local
helvetik :hello:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
helvetik :hello:
scouzi 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
scouzi ok je test
helvetik

scouzi a écrit :

Donc si j'ai bien compris je dois simplement mettre
 

Code :
  1. WshNetwork.SetDefaultPrinter impopu-election



 
Exact...

helvetik 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

scouzi Donc si j'ai bien compris je dois simplement mettre
 

Code :
  1. WshNetwork.SetDefaultPrinter impopu-election

scouzi 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
helvetik 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.
Requin 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.
scouzi 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
Requin 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.

scouzi Personne ne peut m'aider :-(
scouzi 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:


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)